一些应用程序可以从二维数组或矩阵的使用中受益匪浅。数字存储在矩阵的行和列中。使用多维数组,我们也可以用 C++ 定义 2D 矩阵。在这篇文章中,我们将了解如何使用 C++确定给定矩阵的法线和迹线。
矩阵中元素总数的平方根就是所谓的普通的。迹线由构成主对角线的所有组件组成。让我们查看 C++ 代码中算法的表示。
矩阵迹
$egin{bmatrix}8 & 5& 3换行符6 & 7& 1换行2 & 4& 9换行符end{bmatrix},$
主对角线上所有元素的和:(8 + 7 + 9) = 24,这是给定矩阵的迹
在上一个示例中,使用了一个 3 x 3 矩阵,结果是各矩阵的总和主对角线中的元素数量。矩阵的迹可以在总和中找到。让我们看一下算法有助于我们理解。
算法
读取矩阵 M 作为输入假设 M 有 n 行 n 列总和:= 0对于从 1 到 n 的 i,执行sum := sum + M[ i ][ i ]i>结束返回总和
示例
#include #include #define N 7using namespace std;float solve( int M[ N ][ N ] ){ int sum = 0; // read elements through major diagonal, where row index and column index are same, both are i for ( int i = 0; i输出
The Trace of the first matrix is: 129The Trace of the second matrix is: 74登录后复制
矩阵法线
$egin{bmatrix}8 & 5& 3换行符6 & 7& 1换行2 & 4& 9换行符end{bmatrix},$
所有元素的总和:(8 + 5 + 3 + 6 + 7 + 1 + 2 + 4 + 9) = 45
正态:(所有元素之和的平方根)= √45 = 6.708
在上一个示例中,使用了 3 x 3 矩阵。我们首先计算其所有条目的总和在求其平方根之前。让我们看一下算法来帮助我们理解。
算法
读取矩阵 M 作为输入假设 M 有 n 行 n 列总和初始化为 0对于从 1 到 n 的 i,执行对于范围从 1 到 n 的 j,执行sum := sum + M[ i ][ j ]i>结束结束res := 总和的平方根返回结果
示例
#include #include #define N 7using namespace std;float solve( int M[ N ][ N ] ){ int sum = 0; // go through each element. Using outer loop, access ith row, using inner loop access column. For cell (i, j) read the element and add it to the sum for ( int i = 0; i输出
The Normal of the first matrix is: 41.1947The Normal of the second matrix is: 49.4267登录后复制
结论
法线和迹线操作属于矩阵。这两个过程需要方阵,这就是我们需要的(因为需要迹方)。迹线的总和是矩阵主对角线中包含的元素,而法线只是矩阵中包含的元素总数的平方根。在C++中,矩阵可以使用二维数组显示。在这里,我们选择了两个 5 行 5 列的矩阵示例(共 25 个元素)。必须通过循环语句访问矩阵和指数操纵。需要两个嵌套循环,因为要执行典型的计算时,我们必须迭代每个元素。而这个程序的复杂度是O(n2)。由于跟踪只需要主对角线,因此行索引和列索引将是相同的。因此,只需要一个for循环。在O(n)时间内确定。
以上就是C++程序用于找到给定矩阵的迹和法线的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2585014.html