Come modificare le matrici in Matlab

MATLAB

Abbiamo già detto che Matlab è nato proprio dall’esigenza di trattare in modo semplice ed immediato le matrici, ed è quindi questo l’elemento di base che ogni funzione di Matlab avverte l’esigenza di modificare. In questa lezione poniamo l’attenzione su alcune funzioni che consentono di manipolare matrici e vettori.

La funzione abs applicata ad una matrice reale, produce la matrice dei valori assoluti. Applicata ad un numero complesso, ne calcola il modulo. Esempio:

>> A=[-1 -4;-5 6]

A =

    -1    -4
    -5     6


>> abs(A)

ans =

     1     4
     5     6

Mentre applicata ad un numero complesso come già detto ne valuta il modulo:

>> z=3+i*4

z =

   3.0000 + 4.0000i

>> abs(z)

ans =

     5

Le funzioni tril (triu) estraggono da una matrice la parte triangolare inferiore (superiore). Indicando un numero positivo o negativo come secondo argomento è possibile estrarre le altre diagonali della matrice. Ad esempio definiamo una matrice A ed applichiamo ad essa le due funzioni appena menzionate:

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

A =

     1     2     3
     4     5     6
     7     8     9

>> triu(A)

ans =

     1     2     3
     0     5     6
     0     0     9

>> tril(A)

ans =

     1     0     0
     4     5     0
     7     8     9

>> triu(A,1)

ans =

     0     2     3
     0     0     6
     0     0     0

La funzione diag in Matlab, applicata ad una matrice ne estrae la diagonale, applicata ad un vettore crea una matrice diagonale.

>> A=[5 6 ; 7 8]

A =

     5     6
     7     8

>> diag(A)

ans =

     5
     8

>> diag(ans)

ans =

     5     0
     0     8

La funzione sum applicata ad una matrice fornisce un vettore che contiene le somme per colonna degli elementi della matrice; applicata ad un vettore fornisce uno scalare dato dalla somma degli elementi del vettore.

>> A=[0 1 2 ;3 4 5 ;6 7 8 ]

A =

     0     1     2
     3     4     5
     6     7     8

>> sum(A)

ans =

     9    12    15

>> B=[0 1 2]

B =

     0     1     2

>> sum(B)

ans =

     3

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Leave a Reply

Your email address will not be published. Required fields are marked *