lettura facile

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

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




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin