Matrici e Vettori in Scilab
Nell'ambiente Scilab puoi trovare molti strumenti utili per il calcolo matriciale e vettoriale e per la manipolazione di matrici e vettori.
La creazione di matrici e vettori
Per creare un vettore devi indicare gli elementi tra due parentesi quadre.
Se vuoi ottenere un vettore riga, separa gli elementi tra loro con delle virgole.
v = [1, 2, 3]
In questo modo ottieni gli elementi disposti in orizzontale sulla stessa riga.
v =
1. 2. 3.
Se, invece, vuoi definire un vettore colonna, devi separare gli elementi con il simbolo del punto e virgola.
v = [1; 2; 3]
In questo caso gli elementi sono disposti verticalmente sulla stessa colonna.
v =
1.
2.
3.
In alternativa, puoi realizzare un vettore colonna anche tramite la trasposizione di un vettore riga. Definisci un vettore riga e trasponi il vettore aggiungendo un apice alla fine.
v = [1, 2, 3]'
Scilab definisce il vettore riga e poi lo traspone di 90° in senso orario, trasformandolo in un vettore colonna
v =
1.
2.
3.
Per definire una matrice, separa gli elementi di una stessa riga con virgole e distingui le diverse righe con punti e virgola.
Ad esempio, crea una matrice 2x2 con due righe e due colonne nella variabile "M"
M = [1, 2; 3, 4]
Scilab dispone i quattro elementi in una struttura a due dimensioni.
M =
1. 2.
3. 4.
Le operazioni tra vettori e matrici
Dopo aver definito i vettori o le matrici, puoi usarli per effettuare varie operazioni del calcolo matriciale e vettoriale.
Addizione e sottrazione
Puoi sommare o sottrarre matrici di uguali dimensioni, ossia se hanno lo stesso numero di elementi e la stessa disposizione.
Ad esempio, definisci due matrici 2x2
A = [1, 2; 3, 4];
B = [2, 2; 2, 2];
Poi somma le due matrici
C = A + B;
Il risultato è un'altra matrice 2x2 con la somma degli elementi corrispondenti.
C =
3. 4.
5. 6.
Ricorda che è possibile sommare due matrici soltanto quando presentano lo stesso numero di righe e colonne.
Analogamente, due vettori possono essere sommati solo se contano lo stesso numero di elementi e sono entrambi orientati come vettori riga o come vettori colonna.
La moltiplicazione
Per quanto riguarda la moltiplicazione, esistono due tipi di moltiplicazioni:
- La moltiplicazione elemento per elemento
Questa moltiplicazione calcola il prodotto degli elementi corrispondenti tra due vettori o matrici della stessa dimensione. Si ottiene con l'operatore ".*"C = A.*B
Ad esempio, considera le seguenti matrici:A = [1, 2; 3, 4]
Poi calcola la moltiplicazione elemento per elemento
B = [2, 0; 1, 3]C = A.*B
Il risultato è il seguenteC = [2, 0;
È importante sottolineare che per eseguire questa operazione, A e B devono avere le stesse dimensioni. Se non hanno le stesse dimensioni, Scilab restituirà un errore.
3, 12] - La moltiplicazione matriciale (riga per colonna)
Questa moltiplicazione effettua il prodotto riga per colonna. In questo caso, la matrice risultante C è ottenuta sommando i prodotti delle righe di A con le colonne di B.C = A*B
Per eseguire questa operazione, il numero di colonne del primo fattore deve essere uguale al numero di righe del secondo fattore. Ad esempio, supponi di avere queste due matriciA = [1, 2; 3, 4];
Poi calcola la moltiplicazione matriciale digitando C=A*B
B = [2, 0; 1, 3];C=A*B
Il risultato è il seguenteC =
4. 6.
10. 12.
La divisione
Anche nel caso della divisione esistono due tipi di operazioni
- La divisione elemento per elemento
Questa divisione restituisce una matrice in cui ogni elemento della matrice quoziente è ottenuto dividendo gli elementi corrispondenti di A per quelli di B. Si ottiene con l'operatore "./"C = A./B
Ad esempio, prendi come esempio le matrici A e B con due righe e due colonne.
A = [9, 6; 8, 6];
Poi calcola la divisione elemento per elemento
B = [3, 2; 4,3];C = A./B
Il risultato finale è la seguente matriceC =
Per eseguire questa operazione, le matrici A e B devono avere le stesse dimensioni. Inoltre, è importante che nessun elemento di B sia zero, poiché ciò causerebbe una divisione per zero, ossia una operazione matematica indefinita..
3. 3.
2. 2. - La divisione matriciale
L'espressione C = A/B trova la soluzione al sistema lineare di equazioni A*X = B, dove X è la matrice incognita che stiamo cercando. Si ottiene con l'operatore "/"C = A/B
Per eseguire questa operazione, il numero di colonne del primo fattore deve essere uguale al numero di righe del secondo fattore. Ad esempio, considera queste due matrici 2x2
A = [9, 6; 8, 6];
Poi calcola la divisione tra le due matrici
B = [3, 2; 4,3];
C = A/B
Il risultato è il seguenteC =
Ricorda che puoi ottenere lo stesso risultato moltiplicando la matrice A per la matrice B inversa. In altre parole, C = A/B è un'operazione equivalente a calcolare C = A*inv(B), dove inv(B) è l'inversa della matrice B.
3. 0.
0. 2.
Le funzioni utili nel calcolo matriciale e vettoriale
Scilab dispone di molte funzioni che possono aiutarti a svolgere le operazioni tra matrici e vettori.
Ecco le principali.
- Trasposizione
Puoi trasporre una matrice o un vettore aggiungendo l'apice dopo il nome della variabile. Ad esempio, A' restituisce la trasposta della matrice A.A'
- Determinante
Puoi ottenere il determinante di una matrice quadrata A, puoi utilizzare la funzione det()det(A)
- Matrice inversa
Per calcolare la matrice inversa di una matrice puoi usare la funzione inv()invA)
- Autovalori e autovettori
La funzione spec() restituisce gli autovalori di una matrice.spec(A)
mentre [V, D] = spec(A) restituisce sia gli autovettori (V) che una matrice diagonale (D) degli autovalori.[V, D] = spec(A)
Manipolazione di matrici e vettori
Per concludere, ecco alcune operazioni utili nella gestione delle matrici e dei vettori su Scilab.
Estrazione di sottovettori e sottomatrici
Su Scilab puoi estrarre una sottomatrice da una matrice.
Ad esempio, definisci la matrice A
A = [1, 2, 3; 4, 5, 6; 7, 8, 9];
Poi estrai una matrice 2x2
subA = A(1:2, 2:3)
Questa operazione estrae la sottomatrice formata dalle prime due righe 1:2 e dalle ultime due colonne 2:3
subA =
2. 3.
5. 6.
Ridimensionamento
Scilab ti permette anche di modificare la dimensione di una matrice già esistente.
Ad esempio, considera la matrice 2x3
A = [1, 2, 3; 4, 5, 6];
Questa matrice ha due righe e tre colonne
A =
1. 2. 3.
4. 5. 6.
Ridimensiona la matrice A in una matrice di dimensioni 3x2
B = matrix(A, 3, 2)
Il risultato è una matrice B con gli stessi elementi della matrice A disposti su tre righe e due colonne.
B =
1. 5.
4. 3.
2. 6.
Concatenazione
Questa operazione ti permette di concatenare due matrici o due vettori tra loro.
Ad esempio, definisci due matrici
A = [1, 2; 3, 4];
B = [2, 0; 1, 3];
Per ottenere la concatenazione orizzontale digita C = [A, B]
C = [A, B]
Il risultato è una matrice 2x4
C =
1. 2. 2. 0.
3. 4. 1. 3.
Se, invece, vuoi concatenare le due matrici in verticale digita C = [A; B]
C = [A; B]
Il risultato è una matrice 4x2
C =
1. 2.
3. 4.
2. 0.
1. 3.
Quando si lavora con matrici e vettori, questi strumenti sono essenziali per molte applicazioni ingegneristiche e scientifiche.
In conclusione, grazie alla sua vasta libreria di funzioni dedicate, Scilab ti permette di eseguire qualsiasi calcolo vettoriale o matriciale.