
La matrice inversa su Matlab
In questa lezione ti spiego come calcolare la matrice inversa di una matrice quadrata o rettangolare su Matlab.
Cos'è la matrice inversa? Una matrice M è detta invertibile se esiste un'altra matrice detta matrice inversa M-1 tale che il prodotto delle due matrici è una matrice identità, ossia una matrice che ha dei valori 1 sulla diagonale principale e 0 altrove. Ad esempio $$ M \cdot M^{-1} = I $$
Ti faccio un esempio pratico
Definisci una matrice quadrata con due righe e due colonne.
>> M=[1 2;3 4]
M =
1 2
3 4
Calcola la matrice inversa M-1 della matrice M usando la funzione inv()
>> inv(M)
ans =
-2.00000 1.00000
1.50000 -0.50000
Adesso moltiplica la matrice M con la sua inversa inv(M)
Il risultato finale è una matrice identità
>> M*inv(M)
ans =
1.00000 0.00000
0.00000 1.00000
Puoi usare la funzione inv() per calcolare la matrice inversa solo se la matrice M è una matrice quadrata.
Nota. Le matrici quadrate non sono tutte invertibili. Ad esempio, se una matrice quadrata ha il determinante uguale a zero allora non è invertibile e non ha una matrice inversa. Quando una matrice non è invertibile la funzione inv() restituisce un messaggio di errore "Warning: matrix is singular to working precision". Dopo il calcolo della matrice inversa verifica che il prodotto M*inv(M) sia effettivamente una matrice identità.
Come si calcola la matrice inversa delle matrici rettangolari?
In Matlab puoi calcolare la matrice inversa anche di una matrice rettangolare.
In questo caso devi usare la funzione pseudo inverse pinv()
Ad esempio, definisci una matrice rettangolare M2
>> M2=[1 2 3 ; 4 5 6]
M2 =
1 2 3
4 5 6
Si tratta di una matrice 2x3 con due righe e tre colonne.
Adesso calcola la matrice inversa della matrice M2 tramite la funzione pinv()
>> pinv(M2)
ans =
-0.94444 0.44444
-0.11111 0.11111
0.72222 -0.22222
Matlab ti restituisce la matrice inversa di M2.
Per essere sicuro che sia la matrice inversa, moltiplica la matrice rettangolare M2 per la sua matrice inversa pinv(M2).
>> M2*pinv(M2)
ans =
1.00000 -0.00000
0.00000 1.00000
Il risultato del prodotto M*pinv(M2) è una matrice identità.
Quindi, il risultato è corretto.
Nota. In Matlab puoi usare la funzione pinv() per calcolare la matrice inversa sia delle matrici quadrate che delle matrici rettangolari. Quindi, puoi usare pinv() al posto della funzione inv() se la matrice è quadrata. Il risultato è sempre lo stesso.

Viceversa, puoi usare la funzione inv() solo sulle matrici quadrate.

