-2

我在numpy中发现一个奇怪的问题:如果m是一个矩阵,m1*m2的结果总是和m1.dot(m2)一样!!!那么如何将两个矩阵乘以元素呢?(如matlab中的m1.*m2)

4

2 回答 2

1

如果您将矩阵(类型numpy.matrix)相乘,NumPy 假设您想要矩阵乘法,这对我来说似乎并不奇怪。要逐元素相乘,要么使用数组 ( numpy.array) 而不是矩阵,要么使用numpy.multiply().

于 2013-08-24T14:00:54.607 回答
0

这是设计使然。http://wiki.scipy.org/NumPy_for_Matlab_Users

对于matrix'*' 表示矩阵乘法,该multiply()函数用于逐元素乘法。

例如

>>> import numpy
>>> numpy.multiply([[1, 2], [3, 4]], [[5, 6], [7, 8]])
array([[ 5, 12],
       [21, 32]])
于 2013-08-24T13:59:57.023 回答