numpy-将矩阵的每个元素与另一个矩阵的元素在相同位置上相乘

时间:2020-03-09 16:13:40

标签: python numpy matrix

我想将3D矩阵的每个元素与相同位置的相同大小的矩阵的元素相乘。

在2D模式下,它看起来像:

除了for循环以外,还有numpy的任何清洁解决方案吗?

编辑: 此矩阵运算称为“ Hadamard积”

2 个答案:

答案 0 :(得分:2)

只需乘以它们即可。 numpy支持矩阵运算。

x = np.arange(1, 10).reshape(3, 3)
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
print(x*x)

所有元素都将乘以相应的数字。

array([[ 1,  4,  9],
       [16, 25, 36],
       [49, 64, 81]])

答案 1 :(得分:0)

您可以使用简单的*来与numpy数组逐元素相乘。

a = np.array([[1,2],[3,4]])
b = np.array([[1,2],[3,4]])

print(a*b)

会给你

[[ 1  4]
 [ 9 16]]