矩阵乘法,首先你得知道矩阵相乘的原理如下图
A是一个3x2的矩阵,b是一个2x3的矩阵,那么C的行列就是A的行,加B的列,即2x2
而C里面的每个元素都可以根据AB内各元素相乘可得,公式如上,不细讲
---------
设A为m×n的矩阵,B为n×t的矩阵,那么称m×t的矩阵C为矩阵A与矩阵B的乘积,记为C=AB,其中矩阵C的第i行第j列的元素可以表示为:
这是官方的矩阵公式下面看python实现的代码
最主要看最后一个大的for循环 上面是根据AB矩阵来求出C矩阵的行列,
当你得出C的行列的时候,你就可以通过循环来取值,因为我方法是根据下标来
填取值,所以循环次数不能大于矩阵的行列,因为C是通过下标来存储AB
矩阵的值来存,所以得用最大的,不然存不到,而因为AB矩阵是通过下标来取值计算
得出最终值来存进C矩阵,所以AB矩阵下标取值得用最小值,即行列中最小值,
c[x][y] += a[x][j] * b[j][y] 详细多分析这一行代码,没懂可以看公式
for j in range(index): 这一层for循环得出的循环后的值就是
可以通过debug来看出最终值,最终循环结束后,就能取到C矩阵的值,
这里实例是3x2矩阵乘2x3的矩阵,方便理解,重点理解上面两步,
多看公式,来带入程序中, 好了矩阵乘法就到此结束了
特别转载https://zhuanlan.zhihu.com/p/108085571