Le operazioni del calcolo matriciale su Octave
In questa lezione ti spiego come fare le principali operazioni del calcolo tra matrici su Octave.
Scrivi una matrice M1 con due righe e due colonne.
>> M1=[1 4;2 3]
M 1 =
1 4
2 3
Poi un'altra matrice M2 sempre con due righe e due colonne,
>> M2=[3 1;7 5]
M2 =
3 1
7 5
Ecco qualche operazione del calcolo matriciale
- La somma di due matrici
- La differenza tra matrici
- La moltiplicazione tra matrici
- La moltiplicazione tra matrici elemento per elemento
- Il prodotto di una matrice per uno scalare
- La divisione tra matrici
- La divisione tra matrici elemento per elemento
- La divisione di una matrice per uno scalare
- L'elevamento a potenza elemento per elemento
- Il determinante
- Il rango
- La traccia
- La matrice trasposta
- La matrice inversa
- Il polinomio caratteristico
La somma di due matrici
Per sommare le due matrici 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} $$
La differenza tra matrici
Per fare la sottrazione tra due matrici 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} $$
La moltiplicazione tra matrici
Per calcolare il prodotto tra due matrici 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} $$
Ricorda che puoi calcolare il prodotto tra due matrici solo se il numero di colonne della prima matrice è uguale al numero di righe della seconda matrice
La moltiplicazione tra matrici elemento per elemento
E' un altro tipo di moltiplicazione matriciale. Calcola il prodotto tra gli elementi che occupano la stessa posizione.
Per fare questo tipo di moltiplicazione devi usare il simbolo .*
>> M1 .* M2
ans =
3 4
14 15
Nella 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} $$
Il prodotto di una matrice per uno scalare
Per moltiplicare una matrice con un numero scalare, ad esempio k=2, digita 2*M1
>> 2*M1
ans =
2 8
4 6
Tutti gli elementi della matrice sono moltiplicati per il numero scalare.
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} $$
La divisione tra matrici
In algebra lineare la divisione tra due matrici si calcola moltiplicando la prima matrice per la matrice inversa della seconda M1·M2-1.
Per fare questa operazione su Octave digita M1*inv(M2)
>> M1*inv(M2)
ans =
-2.87500 1.37500
-1.37500 0.87500
In alternativa puoi anche digitare M1/M2
>> M1/M2
ans =
-2.87500 1.37500
-1.37500 0.87500
Il risultato è lo stesso.
La divisione tra matrici elemento per elemento
E' un altro tipo di divisione matriciale. Calcola il quoziente tra gli elementi che occupano la stessa posizione.
Per fare questo tipo di divisione devi usare il simbolo ./
>> M1 ./ M2
ans =
0.33333 4.0000
0.28571 0.6000
Nella 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} $$
La divisione di una matrice per uno scalare
Se vuoi dividere una matrice per un numero scalare, ad esempio k=2, digita M1/2
>> M1/2
ans =
0.50000 2.00000
1.00000 1.50000
Gli elementi della matrice sono divisi per il numero scalare.
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} $$
L'elevamento a potenza elemento per elemento
L'elevamento a potenza di una matrice eleva gli elementi della matrice per uno stesso esponente.
Per fare questo tipo di operazione devi usare il simbolo .^
>> 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
Per calcolare il determinante di una matrice quadrata usa la funzione det()
>> 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 calcolare il rango di una matrice usa la funzione rank()
>> rank(M1)
ans = 2
Spiegazione. Il rango della matrice M1 è uguale a due perché il minore non nullo più alto è di ordine due. La matrice 2x2 ha determinante 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 di una matrice usa la funzione trace()
>> trace(M1)
ans = 4
Spiegazione. La traccia della matrice M1 è 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 fare la trasposizione di una matrice usa la funzione transpose()
>> transpose(M1)
ans =
1 2
4 3
In alternativa, puoi trasporre la matrice 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()
>> 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à, ossia una matrice con gli elementi uguale a 1 sulla diagonale principale e nulli tutti gli altri. $$ 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 trovare il polinomio caratteristico di una matrice quadrata utilizza la funzione poly()
>> poly(M1)
ans =
1 -4 -5
Se questa lezione di StemKB su Octave ti ha aiutato, continua a seguirci.