Come creare una matrice diagonale in Matlab e Octave
Per creare una matrice diagonale in Matlab o Octave, usare la funzione diag()
diag(V,k)
Il primo parametro (V) è il vettore con gli elementi della diagonale.
Il secondo parametro (k) è un numero intero che indica la posizione della diagonale. Di default è k=0.
Cos'è una matrice diagonale? Una matrice diagonale è una matrice quadrata con elementi non nulli sulla diagonale principale e uguali a zero nelle altre posizioni. Un esempio di matrice diagonale 4x4 $$ M= \begin{pmatrix} 3 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 \\ 0 & 0 & 5 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} $$
Esempi
Esempio 1
Definire una matrice diagonale con gli elementi 1 2 3 nella diagonale principale
diag([1,2,3])
Il risultato in output è una matrice quadrata 3x3
$$ \begin{pmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 3 \end{pmatrix} $$
Esempio 2
Per creare una matrice diagonale con gli elementi 1 2 3 sopra la diagonale principale, usare la funzione diag() con il secondo parametro k=1.
diag([1,2,3], 1)
Il risultato in output è una matrice quadrata 4x4
$$ \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 3 \\ 0 & 0 & 0 & 0 \end{pmatrix} $$
Esempio 3
Per creare una matrice diagonale con gli elementi 1 2 3 sotto la diagonale principale, usare la funzione diag() con il secondo parametro k=-1.
diag([1,2,3], -1)
Il risultato in output è una matrice quadrata 4x4
$$ \begin{pmatrix} 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 \\ 0 & 0 & 3 & 0 \end{pmatrix} $$