La création de matrices diagonales dans Matlab

Dans cette leçon, je vous initierai à la création de matrices diagonales avec Matlab, une compétence fondamentale pour tout utilisateur de ce logiciel.

Qu'est-ce qu'une matrice diagonale, au juste ? Il s'agit d'une matrice carrée dont les éléments non-nuls se situent uniquement sur la diagonale principale, les autres étant des zéros. Illustrons ceci avec un exemple : $$ M = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 2 & 0 & 0 \\ 0 & 0 & 3 & 0 \\ 0 & 0 & 0 & 4 \end{pmatrix} $$

Pour générer une telle matrice dans Matlab, la fonction diag() est votre meilleure alliée.

diag(v)

Dans 'v', un vecteur, vous placerez les éléments destinés à la diagonale principale de la matrice.

Je vous propose de découvrir cela à travers un exemple concret.

Commencez par créer un vecteur 'v' composé de quatre éléments.

>> v=[1 2 3 4]
v =
1 2 3 4

Ensuite, saisissez la commande diag(v).

Matlab va alors générer une matrice diagonale 4x4, intégrant les éléments de 'v' sur sa diagonale principale.

>> diag(v)
ans =
Matrice Diagonale
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4

Les autres éléments de cette matrice restent nuls.

$$ M = \begin{pmatrix} \color{red}1 & 0 & 0 & 0 \\ 0 & \color{red}2 & 0 & 0 \\ 0 & 0 & \color{red}3 & 0 \\ 0 & 0 & 0 & \color{red}4 \end{pmatrix} $$

Un même résultat peut être obtenu en entrant diag([1 2 3 4]), sans avoir à assigner préalablement le vecteur à une variable. Gardez à l'esprit de bien entourer les éléments du vecteur avec des crochets.

>> diag([1 2 3 4])
ans =
Matrice Diagonale

1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4

Cette méthode vous permet de créer des matrices diagonales de toutes dimensions.

À titre d'exemple, pour une matrice diagonale 3x3, avec trois rangées et trois colonnes, la commande serait diag([3 4 1]).

>> diag([3 4 1])
ans =
Matrice Diagonale
3 0 0
0 4 0
0 0 1

Matlab crée alors une matrice 3x3, adaptée au nombre d'éléments du vecteur.

$$ M = \begin{pmatrix} \color{red}3 & 0 & 0 \\ 0 & \color{red}4 & 0 \\ 0 & 0 & \color{red}1 \end{pmatrix} $$

 
 

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

FacebookTwitterLinkedinLinkedin

Matrices dans Matlab

FAQ