Python 将两个数组相乘,求结果之和
我有两个阵列:Python 将两个数组相乘,求结果之和,python,arrays,Python,Arrays,我有两个阵列: x = [[1, 2, 3]] y = [[0, 1, 5], [2, 4, 6],[4, 5, 6]] 如何将y数组中的所有元素乘以x数组中的每个元素,并求出结果之和,如下所示: 1*0 + 1*1+ 1*5 2*0 + 2*1+ 2*5 3*0 + 3*1+ 3*5 1*2 + 1*4+ 1*6 2*2 + 2*4+ 2*6 3*2 + 3*4+ 3*6 1*4 + 1*5+ 1*6 2*4 + 2*5+ 2*6 3*4
x = [[1, 2, 3]]
y = [[0, 1, 5], [2, 4, 6],[4, 5, 6]]
如何将y数组中的所有元素乘以x数组中的每个元素,并求出结果之和,如下所示:
1*0 + 1*1+ 1*5 2*0 + 2*1+ 2*5 3*0 + 3*1+ 3*5
1*2 + 1*4+ 1*6 2*2 + 2*4+ 2*6 3*2 + 3*4+ 3*6
1*4 + 1*5+ 1*6 2*4 + 2*5+ 2*6 3*4 + 3*5+ 3*6
你可能在找。使用NumPy数组,您可以使用NumPy.multiplyx1,x2轻松地将它们相乘,其中x1和x2是NumPy数组。这将满足您的需要:
import numpy as np
x = np.matrix([[1,2,3]]*3).transpose()
y = np.matrix([[0, 1, 5],[2, 4, 6],[4, 5, 6]]).transpose()
z = (x*y).transpose()
x:
y:
z:
我说不出你期望的结果是什么。3*3矩阵?是的,它应该是3*3矩阵
[[1 1 1]
[2 2 2]
[3 3 3]]
[[0 2 4]
[1 4 5]
[5 6 6]]
[[ 6 12 18]
[12 24 36]
[15 30 45]]