2010-06-27 62 views

回答

43

this answer看看:

from numpy import matrix 
from numpy import linalg 
A = matrix([[1,2,3],[11,12,13],[21,22,23]]) # Creates a matrix. 
x = matrix([[1],[2],[3]])     # Creates a matrix (like a column vector). 
y = matrix([[1,2,3]])      # Creates a matrix (like a row vector). 
print A.T         # Transpose of A. 
print A*x         # Matrix multiplication of A and x. 
print A.I         # Inverse of A. 
print linalg.solve(A, x)  # Solve the linear equation system. 
+0

高興你提到的來源。不要激怒你複製別人的答案,也沒有提供你自己的解釋。很難相信這是目前公認的答案和最高票數。也許你可以付出一點努力來解釋「你的答案」? – jasonleonhard 2017-09-07 01:30:44

11

Python沒有矩陣。您可以使用或列表的列表NumPy

2
((1,2,3,4), 
(5,6,7,8), 
(9,0,1,2)) 

使用元組而不是列表使得它更難輕微改變數據結構中不需要的方式。

如果您打算廣泛使用這些功能,您最好將true number array包裝到一個類中,以便您可以定義它們的方法和屬性。 (或者,你可以與NumPy,SciPy的,...如果你打算使用這些庫做你的處理。)

3

如果你不打算使用NumPy庫,你可以使用嵌套列表。這是實現動態嵌套列表(二維列表)的代碼。

r是行

let r=3 

m=[] 
for i in range(r): 
    m.append([int(x) for x in raw_input().split()]) 

您可以隨時追加使用

m.append([int(x) for x in raw_input().split()]) 

上面,你必須按行輸入矩陣的行數。要插入列:

for i in m: 
    i.append(x) # x is the value to be added in column 

要打印的矩陣:

print m  # all in single row 

for i in m: 
    print i # each row in a different line