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} $$

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Tableaux dans Octave

Matrices dans Octave

FAQ

Struct et tableau cellulaire