第
C++程序用于找到给定矩阵的迹和法线
一些应用程序可以从二维数组或矩阵的使用中受益匪浅。数字存储在矩阵的行和列中。使用多维数组,我们也可以用C++定义2D矩阵。在这篇文章中,我们将了解如何使用C++确定给定矩阵的法线和迹线。
矩阵中元素总数的平方根就是所谓的普通的。迹线由构成主对角线的所有组件组成。让我们查看C++代码中算法的表示。
$\begin{bmatrix}853\换行符671\换行249\换行符\end{bmatrix},$
主对角线上所有元素的和:(8+7+9)=24,这是给定矩阵的迹
在上一个示例中,使用了一个3x3矩阵,结果是各矩阵的总和主对角线中的元素数量。矩阵的迹可以在总和中找到。让我们看一下算法有助于我们理解。
读取矩阵M作为输入
假设M有n行n列
总和:=0
对于从1到n的i,执行
sum:=sum+M[i][i]
返回总和
#includeiostream
#includecmath
#defineN7
usingnamespacestd;
floatsolve(intM[N][N]){
intsum=0;
//readelementsthroughmajordiagonal,whererowindexandcolumnindexaresame,botharei
for(inti=0;ii++){
sum=sum+M[i][i];
returnsum;
intmAIn(){
intmat1[N][N]={
{5,8,74,21,69,78,25},
{48,2,98,6,63,52,3},
{85,12,10,6,9,47,21},
{6,12,18,32,5,10,32},
{8,45,74,69,1,14,56},
{7,69,17,25,89,23,47},
{98,23,15,20,63,21,56},
coutTheTraceofthefirstmatrixis:solve(mat1)endl;
intmat2[N][N]={
{6,8,35,21,87,8,26},
{99,2,36,326,25,24,56},
{15,215,3,157,8,41,23},
{96,115,17,5,3,10,18},
{56,4,78,5,10,22,58},
{85,41,29,65,47,36,78},
{12,23,87,45,69,96,12}
coutTheTraceofthesecondmatrixis:solve(mat2)endl;
TheTraceofthefirstmatrixis:129
TheTraceofthesecondmatrixis:74
$\begin{bmatrix}853\换行符671\换行249\换行符\end{bmatrix},$
所有元素的总和:(8+5+3+6+7+1+2+4+9)=45
正态:(所有元素之和的平方根)=45=6.708
在上一个示例中,使用了3x3矩阵。我们首先计算其所有条目的总和在求其平方根之前。让我们看一下算法来帮助我们理解。
读取矩阵M作为输入
假设M有n行n列
总和初始化为0
对于从1到n的i,执行
对于范围从1到n的j,执行
sum:=sum+M[i][j]
res:=总和的平方根
返回结果
#includeiostream
#includecmath
#defineN7
usingnamespacestd;
floatsolve(intM[N][N]){
intsum=0;
//gothrougheachelement.Usingouterloop,access