Matrici in Octave
Per l'elenco completo degli stub, vedi la relativa categoria
Analisi numerica > Matrici in Octave
|
Matrici in Octave
|
|
| Tipo: lezione | |
| Materia: Analisi numerica | |
| Programma: [[{{{programma1}}}]] | |
| Programma: [[{{{programma2}}}]] | |
| Programma: [[{{{programma3}}}]] | |
| Programma: [[{{{programma4}}}]] | |
Indice |
Creazione di matrici [modifica]
Per creare una matrice
quadrata di nove elementi in Octave inseriamo gli elementi tra parentesi quadre:
octave:1> A = [1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9
Gli spazi definiscono la separazione tra colonne ed i punti e vergola la separazione tra le righe. Ovviamente è possibile creare matrici rettangolare, per esempio
octave:2> B = [1 2 3; 4 5 6] B = 1 2 3 4 5 6
Possiamo facilmente trovare la trasposta
( o
) con
octave:4> A = [1 2 3; 4 5 6; 7 8 9]' A = 1 4 7 2 5 8 3 6 9 octave:5> B' ans = 1 4 2 5 3 6
Comandi utili per la creazione di matrici [modifica]
Talvolta può risultare utile creare matrici di zeri, solo per allocare memoria e velocizzare le simulazioni. Se volessimo creare un matrice
, con abbiamo per esempio:
octave:6> B = zeros(3,2) B = 0 0 0 0 0 0
Se si volesse invece creare una matrice di 
octave:7> A = ones(3,3) A = 1 1 1 1 1 1 1 1 1
Per creare la matrice identità
si usa il comando
octave:4> I=eye(3,3) I = Diagonal Matrix 1 0 0 0 1 0 0 0 1 octave:5> B=eye(3,2) B = Diagonal Matrix 1 0 0 1 0 0
Operazioni tra Matrici [modifica]
Valgono le normali regole tra matrici. Quindi è importante conscere le dimensioni delle matrici su cui vogliamo operare
octave:6> size(A) ans = 3 3 octave:7> size(B) ans = 3 2
La somma è possibile se e solo se le due matrici
e
appartengono allo stesso spazio
, cioè hanno le stesse dimensioni.
octave:8> A + B error: operator +: nonconformant arguments (op1 is 3x3, op2 is 3x2) octave:9> C = A + [0 1 2; 3 4 5; 6 7 8] C = 1 2 3 4 5 6 7 8 9
Seguendo invece le regole per la moltiplicazione si ha che se
e
il prodotto
è possibile solo se 
octave:10> D = B * A error: operator *: nonconformant arguments (op1 is 3x2, op2 is 3x3) octave:11> D = C * B D = 1 2 4 5 7 8
L'operazione di moltiplicazione tra i corrispettivi elementi di due matrici è possibile tramite l'operatore "."
octave:16> D = A .* C D = 1 2 3 4 5 6 7 8 9
Accesso agli elementi di una matrice [modifica]
Definita la matrice
utilizziamo le parentesi tonde per accedere ad un elemento:
octave:17> D22 = D(2,2) D22 = 5
Per vedere solo una colonna od una riga utilizziamo l'operatore ":"
octave:18> riga2 = D(2,:) riga2 = 4 5 6 octave:19> colonna3 = D(:,3) colonna3 = 3 6 9
Se vogliamo vedere, per esempio, due colonne scriviamo
octave:20> colonne1e3 = D(:,[1 3]) colonne1e3 = 1 3 4 6 7 9
Se invece vogliamo estrarre una sottomatrice possiamo, per esempio, utilizzare la seguente espressione
octave:21> sottomatrice = D(2:end,1:2) sottomatrice = 4 5 7 8