一、准备数据
>>> a = np.array([[80, 86],
[82, 80],
[85, 78],
[90, 90],
[86, 82],
[82, 90],
[78, 80],
[92, 94]])
>>> b = np.array([[0.7], [0.3]])
二、np.matmul
>>> np.matmul(a, b)
array([[81.8],
[81.4],
[82.9],
[90. ],
[84.8],
[84.4],
[78.6],
[92.6]])
>>> np.matmul(a, 10)#报错
三、np.dot
>>> np.dot(a,b)
array([[81.8],
[81.4],
[82.9],
[90. ],
[84.8],
[84.4],
[78.6],
[92.6]])
>>> np.dot(a,10)
array([[800, 860],
[820, 800],
[850, 780],
[900, 900],
[860, 820],
[820, 900],
[780, 800],
[920, 940]])
联系:二者都是矩阵乘法, 在矢量乘矢量的內积运算中,np.matmul与np.dot没有区别。
区别:np.matmul中禁止矩阵与标量的乘法; np.dot中支持矩阵与标量的乘法。