Matrici (superiori)
MATRICI
[modifica]
Per poter utilizzare Octave bisogna fornirgli i dati da elaborare o i dati del problema da risolvere in forma matriciale . Una matrice è un insieme di dati omogenei i cui elementi, nel caso di matrici bidimensionali, sono accessibili mediante una coppia di indici .Una matrice A di dimensione 5*6 generica è simbolicamente rappresentata da
Si nota che la matrice ha 5 righe e 6 colonne e che la numerazione degli indici parte da 1 (e non da zero come accade nel linguaggio C). Essendo una matrice generica al suo interno non compaiono dei numeri , ma solo un generico simbolo aij che rappresenta un numero qualsiasi; i rappresenta l'indice della riga, j invece l'indice della colonna. Octave memorizza i vettori come matrici bidimensionali con una sola riga o con una sola colonna , ad esempio un vettore di 4 elementi può essere memorizzato come una matrice 1*4 (una sola riga composta da 4 elementi) o come una matrice 4*1 (una sola colonna).
oppure |
Naturalmente negli esercizi si utilizzeranno dei numeri al posto dei generici elementi aij ; nel caso di una matrice D come in figura
se la vogliamo scrivere in Octave si deve impartire il seguente comando D=[2 4 1; 0 0 7; 1 9 7; 2 2 1] . Osservate che come separatore per i numeri all'interno della stessa riga si è usato lo spazio, mentre come simbolo per indicare che la riga della matrice è finita si è usato il ; notate anche che l'ultima riga non ha il ;
Date due matrici A e B con la stessa dimensione (numero di righe e colonne) è possibile calcolarne la somma e la differenza e il prodotto o il rapporto fra elementi con lo stesso indice. Con Octave per eseguire queste operazioni si scrive :
C=A + B;
D=A - B;
E=A .* B;
F=A ./ B;
attenzione al puntino prima del * e del /
numericamente se A e B sono
e la matrice |
allora otteniamo
Octave permette anche di calcolare il prodotto fra due matrici con il comando C=A*B; (questo prodotto * è diverso dal precedente dove si aveva .* ) in questo caso il numero di colonne di A deve essere uguale al numero di righe di B. La matrice C risultante ha un numero di righe uguali a quello di A e un numero di colonne pari a quelle di B (nrA=ncB), e il singolo elemento della matrice C è pari a
Ricordate che per le matrici il prodotto non gode della proprieta' commutativa e quindi A*B è di solito diverso da B*A .
Ricordiamo anche come è fatta la matrice Identità: è una matrice quadrata con tutti gli elementi nulli tranne quelli della diagonale principale che valgono 1; la matrice I Identita 4*4 vale allora
Definiamo anche la matrice trasposta di una matrice,essa per definizione è la matrice ottenuta scambiandone le righe con le colonne. La trasposta di una matrice A è la matrice AT , il cui generico elemento con indici (i, j) è l'elemento con indici (j, i) della matrice originaria. In simboli:
La matrice simmetrica è invece una matrice quadrata che ha la proprietà di essere la trasposta di se stessa.Detta AT la matrice trasposta di A, una matrice A è simmetrica quando: o in altro modo se
Octave calcola anche l'inversa di una matrice: se A è la matrice per calcolare B=A-1 uso il comando B=inv(A); ricordate inoltre che l'inversa di una matrice gode della proprieta' che A-1*A=I e che l'inversa è calcolabile solamente se il determinante della matrice A è diverso da zero.
Se B è il determinante di A lo si calcola in Octave con il comando B= det(A); ricordate inoltre che la trasposta di una matrice non è la sua inversa, se B è la trasposta della matrice A allora per calcolare B in Octave bisogna fare B=A'
Esercizi per casa : ripassare le matrici, calcolare manualmente il prodotto di due matrici C=A*B usando
con la |
e seguendo le istruzioni presenti nella pagina installare Octave .