MATLAB的矩阵乘法预算符包含 *
与 .*
,numpy的矩阵乘法运算符则包括 *
、@
(Python 3.5+)、np.dot()
与 np.multiply()
。其中的一些操作符二者相同,但实际操作却大为不同,容易造成混淆。
注意:以下以 Numpy 数组为操作对象。
MATLAB
a*b
或 mtrimes(a,b)
为矩阵乘法或叉乘,对应 numpy 中的 np.multiply()
a.*b
为计算矩阵中每个对应元素的积(数组运算)。对应 numpy 中的 *
dot(a,b)
计算点积,等价于sum(a.*b)
Numpy
a*b
或 np.multiply(a, b)
为数组中每个对应元素的积。对应MATLAB中的 .*
np.dot(a, b)
为计算矩阵乘法,在Python 3.5 以上版本可以使用运算符 @
。对应 MATLAB 中的 *