C语言矩阵相乘

看了大神的博客:点击打开链接

矩阵相乘这里介绍2种方法,
首先明白一点:2个矩阵相乘对于a矩阵 na*ma  b矩阵 nb*mb (代表n行m列)
只有 ma==nb时,才能进行运算,不然就不能运算  运算出来的矩阵c na*mb
具体怎么运算举例说明
a  2*3       b   3*2       c  2*2
1 2 3           9 8 1*9+2*7+3*14,1*8+2*11+3*20 
4 5 6            7 11 4*9+5*7+6*14, 4*8+5*11+6*20 
  14 20
会发现什么规律呢?就是a矩阵的每一行的数与b矩阵的每一列的数对应相乘求和
求和几次是结束呢?那肯定是a,b矩阵相等的部分,下面看代码

int i,j,k,temp;
	for(i=0;i

a  2*3      b   3*2      c  2*2
1 2 3 9 8 1*9+2*7+3*14,1*8+2*11+3*20 
4 5 6             7 11 4*9+5*7+6*14, 4*8+5*11+6*20 
  14 20
下面的代码计算顺序
举例说明一下
temp[mb]   temp[0]+=1*9 , temp[1]+=1*8
temp[0]+=2*7, temp[1]+=2*11
temp[0]+=3*14, temp[1]+=3*20

int i,j,temp[mb],k,g;
	for(i=0;i


你可能感兴趣的:(矩阵)