我對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