我在numpy中发现一个奇怪的问题:如果m是一个矩阵,m1*m2的结果总是和m1.dot(m2)一样!!!那么如何将两个矩阵乘以元素呢?(如matlab中的m1.*m2)
问问题
345 次
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 回答