Comment remplacer la diagonale d'une matrice dans Matlab et Octave
Pour remplacer des éléments sur la diagonale d'une matrice, utilisez la fonction spdiags()
spdiags(v,i,m)
- Le premier paramètre est un array avec les nouveaux éléments de la diagonal
- Le deuxième paramètre est l'indice de la diagonale (0 est la diagonale principale)
- Le troisième paramètre est le nom de la matrice.
La fonction modifie les valeurs sur la ième diagonale de la matrice.
Quelles sont les diagonales d'une matrice? Ce sont les éléments de la matrice qui commencent en haut à droite et se terminent en bas à gauche ou vice versa. Par exemple, la diagonale principale de la matrice M sont les éléments 1, 5, 9.
Exemples
Exemple 1
Créer une matrice
>> M=[1 2 3 ; 4 5 6 ; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
Pour remplacer les éléments sur la diagonale principale, utilisez la fonction spdiags()
>> spdiags([-1;-2;-3],0,M)
Le résultat de sortie est une nouvelle matrice avec les nouveaux éléments -1, -2, -3 sur la diagonale principale
-1 2 3
4 -2 6
7 8 -3
Exemple 2
Pour remplacer les éléments au-dessus de la diagonale principale, tapez
>> spdiags([-1;-2],1,M)
Le résultat de sortie est une nouvelle matrice avec les nouveaux éléments -1, -2 sur la diagonale au-dessus de la diagonale principale
1 -1 3
4 5 -2
7 8 9