2015-12-07 283 views
0

我想乘陣列和矩陣迭代的方式:numpy的陣列和矩陣乘法 - 返回矩陣

for i in range(n): 
    V = np.dot(M, V) 

np.dot返回一個矩陣。我顯然可以將矩陣轉換爲numpy數組,但有沒有一種正常的方法來執行這個任務?

+1

numpy的沒有「向量」;只是數組(可能是1d)。 'matrix'是一個總是2d的子類,使用它的函數通常返回相同的東西。如果它讓你感到困惑,請避免使用該課程。你expresion需要編輯。 – hpaulj

回答

1

擴大在什麼@hpaulj說:

我猜你的初始化代碼是一樣的東西

V = np.array([1,2,3]) 
M = np.matrix([ 
    [1,2,3], 
    [4,5,6], 
    [7,8,9]]) 

很抱歉的混亂,但總的建議是:不要使用矩陣,永遠。只需使用np.array

V = np.array(...) 
M = np.array(...) 

np.dot正常工作有兩個array小號

Matrix類放入因爲Python 3.5之前,沒有獨立的MATMUL經營者,人們就想了一個辦法說M*V並得到矩陣乘法(在3.5中,你可以說:[email protected])。矩陣類導致更多的問題比它解決。任何希望得到另一個的代碼都是錯誤的。

你正在做使用np.dot正確的事情,爲這個特殊的問題這裏還有np.linalg.matrix_power

+0

謝謝,這有幫助。我不知道矩陣類的事情,也不知道如何將矩陣提升爲權力。 –