c语言 两个矩阵乘积的问题

例如数组a[2][3]={1,2,3,4,5,6},数组b[3][2]={6,5,4,3,2,1},如果求它们的乘积是不是为c[2][2],如果是,那么岂不是数组a和数组b都被舍弃两个元素数值么,还是说公式确实如此.

假如a[2][3],b[3[4],那么按照公式是不是不能求它们的乘积?
能形象的解释下矩阵的乘积么,谢谢了!

矩阵的乘法法则“左行乘右列”:

注意到后面矩阵的行数必须等于前面矩阵的列数,且乘积的结果矩阵的行数与前面相同,列数与后面一样。真正搞懂矩阵乘法是学会线性代数的重要环节,切记!!

即a[m][n] 和 b[n][q] 的结果是c[m][q],而a和b的那个n必须是一样的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-11
数组乘积和矩阵乘积一样,如下所示
矩阵A(3×2)=【
a11,a12;
a21,a22;
a31,a32

(其中的分号为行分隔符,逗号为元素分隔符,aij代表第i行j个元素)
矩阵B(2×2)=【
b11,b12;
b21,b22

两者乘积C(3×2)=【
a11×b11+a12×b21,a11×b12+a12×b22;
a21×b11+a22×b21,a21×b12+a22×b22;
a31×b11+a32×b21,a31×b12+a32×b22
追问

意思是矩阵的乘积不受行列限制了?

追答

不是,如2×3的矩阵只能和3×n(n=1,2,3,4,。。。。。)的矩阵相乘,第一个矩阵的列必须和第二个矩阵的行相等

相似回答