
Le operazioni del calcolo matriciale con Matlab
In questa lezione ti spiego come svolgere le operazioni del calcolo tra matrici usando Matlab.
Crea una matrice quadrata M1 con due righe e due colonne.
>> M1=[1 4;2 3]
M 1 =
1 4
2 3
Poi crea un'altra matrice quadrata M2 con due righe e due colonne,
>> M2=[3 1;7 5]
M2 =
3 1
7 5
Ora con queste due matrici M1 e M2 faremo qualche esempio pratico di calcolo matriciale.
- Sommare le matrici
- Sottrarre le matrici
- Moltiplicare le matrici
- Moltiplicare le matrici elemento per elemento
- Moltiplicare una matrice per uno scalare
- Dividere le matrici
- Dividere le matrici elemento per elemento
- Dividere una matrice per uno scalare
- Elevare una matrice a potenza elemento per elemento
- Il determinante della matrice
- Il rango
- La traccia
- La matrice trasposta
- La matrice inversa
- Il polinomio caratteristico
Sommare le matrici
Per fare l'addizione matriciale usa l'operatore più (+).
Digita M1+M2
>> M1+M2
ans =
4 5
9 8
Spiegazione. $$ M1 + M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} + \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} 1+3 & 4+1 \\ 2+7 & 3+5 \end{pmatrix} = \begin{pmatrix} 4 & 5 \\ 9 & 8 \end{pmatrix} $$
Sottrarre le matrici
Per calcolare la differenza matriciale usa l'operatore meno (-).
Digita M1-M2
>> M1-M2
ans =
-2 3
-5 -2
Spiegazione. $$ M1 - M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} - \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} 1-3 & 4-1 \\ 2-7 & 3-5 \end{pmatrix} = \begin{pmatrix} -2 & 3 \\ -5 & -2 \end{pmatrix} $$
Moltiplicare le matrici
Per moltiplicare le matrici usa l'operatore della moltiplicazione (*).
Digita M1*M2
>> M1*M2
ans =
31 21
27 17
Spiegazione. $$ M1 \cdot M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} \cdot \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} 1 \cdot 3 + 4 \cdot 7 & 1 \cdot 1 + 4 \cdot 5 \\ 2 \cdot 3 + 3 \cdot 7 & 2 \cdot 1 + 3 \cdot 5 \end{pmatrix} = \begin{pmatrix} 31 & 21 \\ 27 & 17 \end{pmatrix} $$
Questo tipo di operazione è detta moltiplicazione riga per colonna.
Puoi calcolare il prodotto tra due matrici solo se la prima matrice M1 ha un numero di colonne uguale al numero di righe della seconda matrice M2
Moltiplicare le matrici elemento per elemento
La moltiplicazione matriciale elemento per elemento calcola il prodotto tra gli elementi che si trovano nella stessa posizione.
E' un altro tipo di prodotto matriciale, diverso rispetto alla moltiplicazione riga per colonna.
Per svolgere la moltiplicazione elemento per elemento usa il simbolo .*
>> M1 .* M2
ans =
3 4
14 15
Nel caso della moltiplicazione elemento per elemento le due matrici devono avere lo stesso numero di righe e di colonne.
Spiegazione. $$ M1 \ .* \ M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} \ .* \ \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} 1 \cdot 3 & 4 \cdot 1 \\ 2 \cdot 7 & 3 \cdot 5 \end{pmatrix} = \begin{pmatrix} 3 & 4 \\ 14 & 15 \end{pmatrix} $$
Moltiplicare una matrice per uno scalare
Per calcolare il prodotto tra una matrice e un numero scalare usa l'operatore della moltiplicazione (*).
Ad esempio, digita 2*M1
>> 2*M1
ans =
2 8
4 6
Gli elementi della matrice sono moltiplicati per il numero scalare 2.
Spiegazione. $$ 2 \cdot M1 = 2 \cdot \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} = \begin{pmatrix} 2 \cdot 1 & 2 \cdot 4 \\2 \cdot 2 & 2 \cdot 3 \end{pmatrix} = \begin{pmatrix} 2 & 8 \\4 & 6 \end{pmatrix} $$
Dividere le matrici
La divisione tra due matrici si ottiene moltiplicando la prima matrice per la matrice inversa della seconda M1·M2-1.
Per calcolare la divisione di due matrici su Matlab digita M1*inv(M2)
>> M1*inv(M2)
ans =
-2.87500 1.37500
-1.37500 0.87500
In alternativa, puoi anche digitare M1/M2
In questo caso Matlab svolge automaticamente l'inversione della seconda matrice.
>> M1/M2
ans =
-2.87500 1.37500
-1.37500 0.87500
Il risultato finale è sempre lo stesso.
Dividere le matrici elemento per elemento
La divisione elemento per elemento calcola il quoziente tra gli elementi che si trovano nella stessa posizione.
E' un altro tipo di divisione matriciale.
Per svolgere la divisione elemento per elemento usa l'operatore ./
>> M1 ./ M2
ans =
0.33333 4.0000
0.28571 0.6000
Nel caso della divisione elemento per elemento le due matrici devono avere lo stesso numero di righe e di colonne.
Spiegazione. $$ M1 \ ./ \ M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} \ ./ \ \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} \frac{1}{3} & \frac{4}{1} \\ \frac{2}{7} & \frac{3}{5} \end{pmatrix} = \begin{pmatrix} 0.33333 & 0.28571 \\ 4 & 0.6 \end{pmatrix} $$
Dividere una matrice per uno scalare
La divisione di una matrice per un numero scalare si ottiene usando l'operatore della divisione (/).
Ad esempio, per dividere la matrice M1 per due digita M1/2
>> M1/2
ans =
0.50000 2.00000
1.00000 1.50000
Tutti gli elementi della matrice M1 sono divisi per il numero scalare 2.
Spiegazione. $$ \frac{M1}{2} = \frac{1}{2} \cdot \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} = \begin{pmatrix} \frac{1}{2} \cdot 1 & \frac{1}{2} \cdot 4 \\ \frac{1}{2} \cdot 2 & \frac{1}{2} \cdot 3 \end{pmatrix} = \begin{pmatrix} 0.5 & 2 \\ 1 & 1.5 \end{pmatrix} $$
Elevare una matrice a potenza elemento per elemento
Per elevare ogni elemento di una matrice per uno stesso esponente usa il simbolo .^
Ad esempio, per elevare gli elementi della matrice M1 alla seconda digita M1.^2
>> M1.^2
ans =
1 16
4 9
Spiegazione. $$ M1 \ \text{.^} \ 2 = \begin{pmatrix} 1^2 & 4^2 \\ 2^2 & 3^2 \end{pmatrix} = \begin{pmatrix} 1 & 16 \\ 4 & 9 \end{pmatrix} $$
Il determinante della matrice
Matlab ha una specifica funzione per calcolare il determinante di una matrice quadrata. E' la funzione det()
Ad esempio, per calcolare il determinante della matrice M1 digita det(M1)
>> det(M1)
ans = -5
Spiegazione. $$ \text{det} (M1) = det \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} = 1 \cdot 3 - 4 \cdot 2 = -5 $$
Il rango
Per trovare il rango della matrice usa la funzione rank()
Ad esempio, per calcolare il rango della matrice M1 digita rank(M1)
>> rank(M1)
ans = 2
Spiegazione. Il rango è uguale a due perché il determinante della matrice 2x2 non è nullo. $$ \text{det} (M1) = det \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} = 1 \cdot 3 - 4 \cdot 2 = -5 $$
La traccia
Per calcolare la traccia della matrice usa la funzione trace()
Ad esempio, per calcolare la traccia della matrice M1 digita trace(M1)
>> trace(M1)
ans = 4
Spiegazione. La traccia di una matrice è uguale alla somma degli elementi sulla diagonale principale. $$ \text{trace} (M1) = \text{trace} \begin{pmatrix} \color{red}1 & 4 \\ 2 & \color{red}3 \end{pmatrix} = 1 + 3 = 4 $$
La matrice trasposta
Per trasporre le righe e le colonne di una matrice usa la funzione transpose()
Ad esempio per fare la trasposizione della matrice M1 digita transpose(M1)
>> transpose(M1)
ans =
1 2
4 3
In alternativa, puoi fare la trasposizione matriciale aggiungendo un apice dopo il nome della matrice
>> M1'
ans =
1 2
4 3
Spiegazione. Nella trasposizione le righe della matrice diventano colonne e viceversa. $$ \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix}^T = \begin{pmatrix} 1 & 2 \\ 4 & 3 \end{pmatrix} $$
La matrice inversa
Per calcolare la matrice inversa usa la funzione inv()
Ad esempio, per calcolare la matrice inversa di M1 digita inv(M1)
>> inv(M1)
ans =
-0.60000 0.80000
0.40000 -0.20000
Spiegazione. La matrice inversa di M1 è una matrice che moltiplicata per M1 dà come risultato una matrice identità. La matrice identità è una matrice con gli elementi uguali a 1 sulla diagonale principale e uguali a zero altrove. $$ M1 \cdot \text{inv} (M1) = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} \cdot \begin{pmatrix} -0.6 & 0.8 \\ 0.4 & -0.2 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} $$
Il polinomio caratteristico
Per calcolare il polinomio caratteristico di una matrice quadrata usa la funzione poly()
>> poly(M1)
ans =
1 -4 -5

