Extraction d'une diagonale d'une matrice avec Octave
Dans cette leçon, nous allons aborder l'extraction d'une diagonale d'une matrice en utilisant Octave.
Qu'est-ce que la diagonale d'une matrice ? La diagonale d'une matrice se réfère aux éléments qui se situent sur la diagonale principale de celle-ci. Par exemple, dans la matrice suivante, les éléments 1, 5, 9 forment la diagonale principale. $$ M = \begin{pmatrix} \color{red}1 & 2 & 3 \\ 4 & \color{red}5 & 6 \\ 7 & 8 & \color{red}9 \end{pmatrix} $$
Pour illustrer cela, prenons un exemple pratique.
Créons une matrice carrée 3x3, avec trois lignes et trois colonnes.
>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
Pour obtenir le nombre d'éléments sur la diagonale principale, nous utilisons la fonction diag(M)
>> diag(M)
ans =
1
5
9
Les éléments sur la diagonale principale de la matrice sont donc les nombres 1, 5 et 9.
$$ M = \begin{pmatrix} \color{red}1 & 2 & 3 \\ 4 & \color{red}5 & 6 \\ 7 & 8 & \color{red}9 \end{pmatrix} $$
Pour obtenir les éléments sur la diagonale au-dessus de la diagonale principale, nous utilisons la fonction diag(M,1)
>> diag(M,1)
ans =
2
6
Cette commande permet d'extraire les nombres 2 et 6 qui se trouvent sur la diagonale au-dessus de la principale.
$$ M = \begin{pmatrix} 1 & \color{red}2 & 3 \\ 4 & 5 & \color{red}6 \\ 7 & 8 & 9 \end{pmatrix} $$
Ensuite, en tapant diag(M,2)
>> diag(M,2)
ans = 3
Nous obtenons les éléments sur la diagonale encore plus haute, et ainsi de suite.
$$ M = \begin{pmatrix} 1 & 2 & \color{red}3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$
Pour extraire les éléments de la diagonale sous la diagonale principale, nous utilisons la fonction diag(M,-1)
>> diag(M,-1)
ans =
4
8
Cette commande permet d'extraire les éléments situés sous la diagonale principale.
$$ M = \begin{pmatrix} 1 & 2 & 3 \\ \color{red}4 & 5 & 6 \\ 7 & \color{red}8 & 9 \end{pmatrix} $$
Si nous souhaitons supprimer tous les autres éléments, à l'exception de ceux sur la diagonale principale, nous utilisons la fonction diag(diag(M))
>> diag(diag(M))
ans =
Diagonal Matrix
1 0 0
0 5 0
0 0 9
Cela nous donne une matrice diagonale.
$$ M = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 5 & 0 \\ 0 & 0 & 9 \end{pmatrix} $$
Si nous voulons extraire l'antidiagonale ou la diagonale secondaire, nous pouvons inverser la matrice avec la fonction fliplr()
Nous tapons diag(fliplr(M))
>> diag(fliplr(M))
ans =
3
5
7
Cette commande renvoie les éléments sur l'antidiagonale de la matrice
$$ M = \begin{pmatrix} 1 & 2 & \color{red}3 \\ 4 & \color{red}5 & 6 \\ \color{red}7 & 8 & 9 \end{pmatrix} $$
La commande diag() peut également être utilisée pour extraire les éléments d'un tableau rectangulaire.
Par exemple, créons une matrice rectangulaire avec 3 lignes et 4 colonnes.
>> M2=[1 1 1 1 ; 2 2 2 2 ; 3 3 3 3]
M2 =
1 1 1 1
2 2 2 2
3 3 3 3
Maintenant, en tapant diag(M2)
>> diag(M2)
ans =
1
2
3
Cette commande extrait les éléments sur la diagonale de la matrice carrée dans la matrice rectangulaire.
$$ M = \begin{pmatrix} \color{red}1 & 1 & 1 & 1 \\ 2 & \color{red}2 & 2 & 2 \\ 3 & 3 & \color{red}3 & 3 \end{pmatrix} $$