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]
    B = [2, 0; 1, 3]

    Poi calcola la moltiplicazione elemento per elemento

    C = A.*B

    Il risultato è il seguente

    C = [2, 0;
    3, 12]

    È 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.
  • 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 matrici

    A = [1, 2; 3, 4];
    B = [2, 0; 1, 3];

    Poi calcola la moltiplicazione matriciale digitando C=A*B

    C=A*B

    Il risultato è il seguente

    C =
    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];
    B = [3, 2; 4,3];

    Poi calcola la divisione elemento per elemento

    C = A./B

    Il risultato finale è la seguente matrice

    C =
    3. 3.
    2. 2.

    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..
  • 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];
    B = [3, 2; 4,3];

    Poi calcola la divisione tra le due matrici

    C = A/B

    Il risultato è il seguente

    C =
    3. 0.
    0. 2.

    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.

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.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Matematica su Scilab

Le funzioni trigonometriche