INTRODUZIONE

Una matrice è una tabella ordinata di elementi:

Un esempio è la matrice

In Matlab può essere ottenuta in vari modi:

>> [1 2 3; 4 5 6] 

>> [1, 2, 3; 4, 5, 6]

 

>> [1 2 3
4 5 6]

Se la scrittura è eseguita correttamente la risposta di Matlab è:

ans =       
      1 2 3
      4 5 6

Si noti come lo spazio e la "," siano equivalenti per separare gli elementi di una riga mentre l'a-capo e il ";" siano equivalenti per separare gli elementi di una colonna.

Un vettore riga è una matrice formata da una sola riga, per esempio

>> [1 2 3 4 5 6 7 8 9]

ans =
     1     2     3     4     5     6     7     8     9

Un vettore colonna è una matrice formata da una sola colonna, per esempio

>> [1; 2; 3; 4; 5; 6; 7; 8; 9]
ans =
     1
     2
     3
     4
     5
     6
     7
     8

     9

Si noti che un vettore riga e un vettore colonna sono differenti.

Una matrice può essere generata anche mediante funzioni built-in di MATLAB. Ad esempio zeros(n,m)ones(n,m)eye(n,m)

>> zeros(3,2)
ans =
     0     0
     0     0
     0     0

>> ones(2,3)
ans =
     1     1     1
     1     1     1     

>> eye(2,2)
ans =
     1     0
     0     1

Gli elementi di una matrice sono indirizzabili mediante indice fra parentesi tonde

>> A = [1 2 3; 4 5 6]; 
>> A(2,1)
ans =
     4

Una matrice può essere costruita definendo le sue sottomatrici

>> A = [1 2 3; 4 5 6];
>> Y = [7 8 9];
>> B = [A;Y]
B =
     1     2     3
     4     5     6
     7     8     9
OPERAZIONI SU MATRICI

Il prodotto è definito come il prodotto matriciale righe per colonne

>> [1 2; 3 4; 5 6]*[4 4; 5 5]
ans =
      14 14
      32 32
      50 50

Il prodotto scalare (elemento per elemento) viene indicato con .*

>> [1 2 3 4 5 6] .* [7 8 9 10 11 12]
ans =
      7 16 27 40 55 72

Se A è una matrice quadrata e p è uno scalare, Aˆp=A*A*A

L’elevamento a potenza scalare (elemento per elemento) si indica con .ˆ

La divisione viene effettuata mediante due simboli / e \
Supponendo che A sia una matrice quadrata non singolare
X=B/A è soluzione di X*A = B o X = B*inv(A)
X=A\B è soluzione di A*X = B o X = inv(A)*B
con X che ha le stesse dimensioni di B.

La divisione scalare (elemento per elemento) viene indicata con ./

>> [1 2 3 4 5 6] ./ [7 8 9 10 11 12]
ans =
      0.1429 0.2500 0.3333 0.4000 0.4545 0.5000

In Matlab le espressioni del tipo exp(A)sqrt(A)log(A) sono considerate OPERAZIONI SUI VETTORI (array), ovvero definite su ciascun elemento della matrice A.

E possibile utilizzare convenientemente anche degli operatori relazionali:
< minore di
> maggiore di
>= maggiore uguale
<= minore uguale
== uguale a
˜= diverso da

e degli operatori logici
&  and
|  or
˜  not

Ad esempio, mediante l’istruzione find, si possono selezionare sottoinsiemi di matrici usando gli operatori relazionali

>> A=[4 1 8 0];
>> find(A>2)
ans =
     1 3
Ultime modifiche: sabato, 23 dicembre 2023, 15:46