Come sostituire le diagonali di una matrice su Matlab e Octave
Per sostituire gli elementi sulla diagonale di una matrice si usa la funzione spdiags()
spdiags(v,i,m)
- Il primo parametro è un array con i nuovi elementi della diagonale.
- Il secondo parametro è l’indice della diagonale (0 è la diagonale principale)
- Il terzo parametro è il nome della matrice.
La funzione modifica i valori sulla diagonale i-esima della matrice.
Cosa sono le diagonali di una matrice? Sono gli elementi della matrice che partono in alto a destra e terminano in basso a sinistra o viceversa. Ad esempio, la diagonale principale della matrice M sono gli elementi 1, 5, 9.
Esempi
Esempio 1
Crea una matrice
>> M=[1 2 3 ; 4 5 6 ; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
Per sostituire gli elementi sulla diagonale principale usa la funzione spdiags()
>> spdiags([-1;-2;-3],0,M)
Il risultato in output è una nuova matrice con i nuovi elementi -1, -2, -3 sulla diagonale principale
-1 2 3
4 -2 6
7 8 -3
Esempio 2
Per sostituire gli elementi sopra la diagonale principale digita
>> spdiags([-1;-2],1,M)
Il risultato in output è una nuova matrice con i nuovi elementi -1, -2 sulla diagonale sopra la diagonale principale
1 -1 3
4 5 -2
7 8 9