OKPEDIA MATLAB MATRICE

Come estrarre le diagonali di una matrice in Matlab e Octave

Per estrarre le diagonali di una matrice in Matlab e Octave usare la funzione diag()

diag(M, k)

Il primo argomento (M) è la matrice o la variabile che ospita la matrice.

Il secondo argomento (k) è facoltativo. È un numero intero che indica la diagonale da estrarre. Di default è k=0 e la funzione estrae la diagonale principale della matrice.

Nota. Se il primo argomento della funzione diag() è un vettore, la funzione crea una matrice diagonale (diagonal matrix) in cui la diagonale principale è composta dagli elementi del vettore.

Esempi

Esempio 1

Definire una matrice quadrata

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

E' una matrice quadrata 3x3

$$ \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$

Estrarre la diagonale principale tramite la funzione diag(M)

diag(M)

La funzione estrae la diagonale principale della matrice

1
5
9

Esempio 2

Per estrarre la diagonale sopra la diagonale principale, indicare il parametro k=1 nella funzione diag()

diag(M,1)

Il risultato in output è

2
6

Esempio 3

Per estrarre la diagonale sotto quella principale, usare la funzione diag() con il parametro k=-1

diag(M,-1)

Il risultato in output è

4
8

Esempio 4

Per estrarre la diagonale secondaria, riflettere in orizzontale la matrice con la funzione fliplr() ed estrarre la diagonale con la funzione diag().

diag(fliplr(M))

Il risultato in output è la diagonale composta dagli elementi

3
5
7

Esempio 5

Per estrarre tutte le diagonali della matrice con un solo comando digita

>> spdiags(M)

La funzione restituisce in output dei vettori colonna.

Ogni vettore colonna è una diagonale della matrice.

7 4 1 0 0
0 8 5 2 0
0 0 9 6 3

Il vettore colonna centrale 1 5 9 è la diagonale principale della matrice.

$$ \begin{pmatrix} \color{red}1 & 2 & 3 \\ 4 & \color{red}5 & 6 \\ 7 & 8 & \color{red}9 \end{pmatrix} $$

Il vettore colonna 4 8 0 è la diagonale sotto la diagonale principale.

$$ \begin{pmatrix} 1 &2 & 3 \\ \color{red}4 & 5 & 6 \\ 7 & \color{red}8 & 9 \end{pmatrix} $$

Il vettore colonna 0 2 6 è la diagonale sopra la diagonale principale.

$$ \begin{pmatrix} 1 & \color{red}2 & 3 \\ 4 & 5 & \color{red}6 \\ 7 & 8 & 9 \end{pmatrix} $$

https://how.okpedia.org/it/matlab/come-estrarre-le-diagonali-di-una-matrice-in-matlab-e-octave


Segnala un errore o invia un suggerimento per migliorare la pagina


Matrici su Matlab/Octave


FacebookTwitterLinkedinLinkedin