2010-06-27 13 views

risposta

43

Date un'occhiata a 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

Glad you citata la fonte. Non entusiasta hai copiato la risposta da qualcun altro e non hai fornito la tua spiegazione. Difficile credere che questa sia attualmente la risposta accettata e la più votata. Forse potresti mettere un piccolo sforzo per spiegare "la tua risposta"? – jasonleonhard

11

Python non ha matrici. È possibile utilizzare una lista di liste o NumPy

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

Utilizzando tuple invece di liste rende marginalmente più difficile da modificare la struttura dei dati in modi indesiderati.

Se si intende fare un uso estensivo di questi, è meglio eseguire il wrapping di un true number array in una classe, in modo da poter definire metodi e proprietà su di essi. (Oppure, si potrebbe NumPy, SciPy, ... se avete intenzione di fare il vostro trattamento con tali librerie.)

3

Se non si ha intenzione di utilizzare la Libreria NumPy, puoi usare l'elenco annidato. Questo è il codice per implementare l'elenco dinamico annidato (liste bidimensionali).

Lasciate r è il numero di righe

let r=3 

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

qualsiasi momento è possibile aggiungere una riga usando

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

Sopra, è necessario inserire la matrice di riga-saggio. Per inserire una colonna:

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

Per stampare la matrice:

print m  # all in single row 

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