我对Numpy数组感到困惑。假设我有两个Numpy数组。Numpy矩阵(数组)理由
a = np.array([[1,2], [3,4], [5,6]])
b = np.array([[1,10], [1, 10]])
我的a
和b
解释是3×2和2×2矩阵,即,
a = 1 2 b = 1 10
3 4 1 10
5 6
然后,我想这应该是细做a * b
,因为它是3×2和2×2矩阵的乘法。但是,这是不可能的,我不得不使用a.dot(b)
。
鉴于这个事实,我认为我对Numpy阵列的解释是不正确的。任何人都可以让我知道我应该如何看待Numpy数组?我知道如果我将a
和b
转换为np.matrix,我可以做a*b
。然而,看着其他的代码,似乎人们可以使用Numpy数组作为矩阵,所以我想知道我应该如何理解Numpy数组的矩阵。
如果你使用的是Python 3.5,你可以使用'a @ b'来做你想做的事。 'a * b'进行_elementwise_乘法运算。 – SethMMorton
此外,要检查您是否符合尺寸,可以尝试'.shape'查看尺寸。然后,如果您发现尺寸不匹配,您可以转置它。 :) – 2016-11-08 04:30:00
这两种multipatatin是有用的。看看MATLAB代码,你会看到'a * b'和'a。* b'。 – hpaulj