
Le matrici in Scilab
Scilab è particolarmente efficace nella manipolazione delle matrici. In questo tutorial ti spiego come crearne una e come eseguire le principali operazioni del calcolo matriciale.
Cos'è una matrice? Una matrice è un array bidimensionale di numeri. Ecco un esempio di matrice con due righe e tre colonne. $$ M = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix} $$ Le matrici sono fondamentali in molte applicazioni scientifiche e ingegneristiche.
In Scilab, la creazione di una matrice è un'operazione estremamente semplice.
Indica gli elementi della matrice tra parentesi quadre
- Separa gli elementi di una riga con le virgole oppure con uno spazio
- Separa le righe della matrice con il punto e virgola
Ecco un esempio di una matrice 3x3
M = [1, 2, 3;
4, 5, 6;
7, 8, 9]
In alternativa puoi anche scrivere usando gli spazi al posto delle virgole
M = [1 2 3;
4 5 6;
7 8 9]
Questa matrice ha nove elementi, distribuiti in tre righe e tre colonna.
I numeri separati da virgole sono elementi della stessa riga, mentre il punto e virgola (`;`) indica una nuova riga.
$$ M = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$
Una volta creata la matrice, puoi usarla per svolgere qualsiasi calcolo matriciale.
Addizione e sottrazione
Le matrici possono essere sommate o sottratte tra loro se hanno le stesse dimensioni.
Ad esempio, definisci due matrici 2x2
A = [1, 2;
3, 4]
B = [4, 5;
6, 7]
Poi somma le due matrici
A + B
Il risultato è una matrice 2x2 in cui ogni elemento è la somma degli elementi corrispondenti.
ans=
6. 8.
10. 12.
Ecco perché esce questo risultato:
$$ A+B = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} + \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} = \begin{pmatrix} 1+5 & 2+6 \\ 3+7 & 4+8 \end{pmatrix} = \begin{pmatrix} 6 & 8 \\ 10 & 12 \end{pmatrix} $$
Moltiplicazione tra matrici
Una matrice può essere moltiplicata per un'altra solo se il numero di colonne della prima matrice è uguale al numero di righe della seconda.
Ad esempio, crea due matrici
A = [1, 2;
3, 4]
B = [5, 6;
7, 8]
Poi calcola il prodotto riga per colonna.
A*B
Il risultato è un'altra matrice 2x2
ans =
19. 22.
43. 50.
Qui sotto ti spiego perché Scilab restituisce questo risultato
$$ A*B = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} * \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} = \begin{pmatrix} 1 \cdot 5 + 2 \cdot 7 & 1 \cdot 6 + 2 \cdot 8 \\ 3 \cdot 5 + 4 \cdot 7 & 3 \cdot 6 + 4 \cdot 8 \end{pmatrix} = \begin{pmatrix} 19 & 22 \\ 43 & 50 \end{pmatrix} $$
Moltiplicazione per uno scalare
In questo tipo di moltiplicazione tutti gli elementi della matrice vengono moltiplicati per lo scalare.
Ad esempio, crea una matrice 2x2
A = [1, 2;
3, 4]
Poi moltiplica per due
2*A
Il risultato è una matrice 2x2 con tutti gli elementi moltiplicati per due.
ans =
2. 4.
6. 8.
Ecco perché Scilab restituisce questo risultato
$$ 2*A = 2 \cdot \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 2 \cdot 1 & 2 \cdot 2 \\ 2 \cdot 3 & 2 \cdot 4 \end{pmatrix} = \begin{pmatrix} 2 & 4 \\ 6 & 8 \end{pmatrix} $$
Altre funzioni utili
Oltre a queste operazioni di base, Scilab ti mette a disposizione diverse funzioni ad hoc per svolgere i calcoli matriciali.
Eccone alcune:
- det(A)
Calcola il determinante della matrice A. - inv(A)
Restituisce l'inverso di A, se esiste. - eye(n, m)
Crea una matrice identità di dimensione nxm. - size(A)
Restituisce le dimensioni della matrice A.
Nelle prossime lezioni vedremo nel dettaglio tutte le funzioni che puoi usare per svolgere il calcolo matriciale su Scilab.