任何人都可以帮我吗?我相信这很容易,但我不知道该怎么做?
使用元素1,2,3,4,5
和2,3,4,5,6
创建两个矩阵,矩阵为
繁殖。
我有这个,但我不知道如何将它们相乘:
import numpy as np
a=np.arange(5).reshape(1,5)
b=np.arange(6).reshape(1,6)
print a
print b
感谢您的帮助。
答案 0 :(得分:3)
如果您需要数学矩阵乘法(点积),请使用numpy.dot(请参阅链接背后的示例)。请注意,对于numpy.dot
,如果数组的形状为(5,1)或(1,5),则无关紧要。您可以使用a.T
转换数组。
答案 1 :(得分:3)
我认为您的问题是您的阵列不是您认为的那样:
>>> np.arange(5).reshape(1, 5)
array([[0, 1, 2, 3, 4]])
>>> np.arange(6).reshape(1, 6)
array([[0, 1, 2, 3, 4, 5]])
相反,你可能想要:
>>> np.arange(1, 6).reshape(1, 5)
array([[1, 2, 3, 4, 5]])
>>> np.arange(2, 7).reshape(1, 5)
array([[2, 3, 4, 5, 6]])
然后你可以直接将它们相乘:
>>> a = np.arange(1, 6).reshape(1, 5)
>>> b = np.arange(2, 7).reshape(1, 5)
>>> a*b
array([[ 2, 6, 12, 20, 30]])
注意这是用于逐元素乘法的。对于点积,请参阅leeladam
的答案。