技术小站8

网站首页 产经 > 正文

矩阵相乘什么时候可以交换顺序(矩阵相乘)

2022-10-26 18:55:37 产经 来源:
导读 大家好,小豆豆来为大家解答以上的问题。矩阵相乘什么时候可以交换顺序,矩阵相乘这个很多人还不知道,现在让我们一起来看看吧!1、矩阵相乘

大家好,小豆豆来为大家解答以上的问题。矩阵相乘什么时候可以交换顺序,矩阵相乘这个很多人还不知道,现在让我们一起来看看吧!

1、矩阵相乘需要前面矩阵的行数与后面矩阵的列数相同方可相乘。

2、第一步先将前面矩阵的每一行分别与后面矩阵的列相乘作为结果矩阵的行列。

3、第二步算出结果即可。

4、扩展资料:矩阵相乘最重要的方法是一般矩阵乘积。

5、它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义 。

6、一般单指矩阵乘积时,指的便是一般矩阵乘积。

7、一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。

8、由于它把许多数据紧凑的集中到了一起,所以有时候可以简便地表示一些复杂的模型。

9、当矩阵A的列数等于矩阵B的行数时,A与B可以相乘。

10、2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。

11、3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。

12、参考资料:百度百科-矩阵相乘两个矩阵相乘算法本来是处理两个矩阵的连乘求如何加括号使得中间的运算次数最少的问题,但是突然想到实现一下如何求连个矩阵连乘的算法,就实现了一下,挺简单的:注意程序围绕的思想:1.两个矩阵相乘,前一个矩阵的列等于一个矩阵的行2.拿前一个矩阵的每一行,依次的乘以后一个矩阵的每一列[cpp] view plain copy #include //注意矩阵连乘需要满足的是: //前一个矩阵的列等于后一个矩阵的行 using namespace std; int main(){ int a[3][1] = { {1}, {2}, {3} }; int b[1][3] = {{1,2,3}}; int c[3][3]; int temp; for (int i=0; i<3; i++){ //拿出数组a的每一行 for (int z=0; z<3; z++){ //分别和数组b的每一列进行相乘 int sum = 0; //因为每次乘以数组a的每一列都会产生数组c中的一个元素,所以sum要放在这里 for(int j=0; j<1; j++){ sum = a[i][j] * b[j][z]; } c[i][z] = sum; } } for (int i=0; i<3; i++){ for (int j=0; j<3; j++) cout << c[i][j]; cout << endl; } }。

本文到此分享完毕,希望对大家有所帮助。


版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。


标签:




热点推荐
热评文章
随机文章