Python 矩阵乘法在numpy中很奇怪(m*m等于m.dot(m)!!!)

Python 矩阵乘法在numpy中很奇怪(m*m等于m.dot(m)!!!),python,numpy,scipy,Python,Numpy,Scipy,我在numpy中发现了一个奇怪的问题: 如果m是矩阵,那么m1*m2的结果总是与m1相同。点(m2)!!! 那么,我如何通过元素将两个矩阵复乘?(如matlab中的m1.*m2)这是通过设计实现的 对于矩阵,“*”表示矩阵乘法,而multiply()函数用于元素乘法 e、 g 如果将矩阵相乘(类型为numpy.matrix),numpy假设您需要,这对我来说并不奇怪。要按元素进行乘法,请使用数组(numpy.array)而不是矩阵,或者使用numpy.multiply() >>>

我在numpy中发现了一个奇怪的问题: 如果m是矩阵,那么m1*m2的结果总是与m1相同。点(m2)!!! 那么,我如何通过元素将两个矩阵复乘?(如matlab中的m1.*m2)

这是通过设计实现的

对于
矩阵
“*”表示矩阵乘法,而
multiply()
函数用于元素乘法

e、 g

如果将矩阵相乘(类型为
numpy.matrix
),numpy假设您需要,这对我来说并不奇怪。要按元素进行乘法,请使用数组(
numpy.array
)而不是矩阵,或者使用
numpy.multiply()

>>> import numpy
>>> numpy.multiply([[1, 2], [3, 4]], [[5, 6], [7, 8]])
array([[ 5, 12],
       [21, 32]])