Suppression d'une ligne ou d'une colonne dans une matrice sous Matlab

Dans ce tutoriel, je vais vous expliquer comment éliminer une ligne ou une colonne d'une matrice sous Matlab.

Voici un exemple concret.

Créez d'abord une matrice 3x3 composée de trois lignes et de trois colonnes.

>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9

Pour retirer la première ligne, saisissez la commande M(1,:)=[ ]

>> M(1,:)=[ ]
M =
4 5 6
7 8 9

Explication de cette commande :

  • Le chiffre 1 dans M(1,:) désigne la première ligne de la matrice.
  • Le signe deux-points (:) dans M(1,:) indique la sélection de toutes les colonnes.

Ainsi, M(1,:)=[ ] attribue une valeur nulle [ ] à l'ensemble des colonnes de la première ligne.

$$ \begin{pmatrix} \not{1} & \not{2} & \not{3} \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$

Ce faisant, la première ligne de la matrice est supprimée.

$$ \begin{pmatrix} 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} $$

Le résultat est une matrice de dimensions 2x3, soit deux lignes et trois colonnes.

Note : Pour supprimer d'autres lignes, il suffit de changer le numéro de la ligne. Par exemple, pour enlever la deuxième ligne, entrez M(2,:)=[ ] et ainsi de suite. La première ligne de la matrice est indexée par 1, la deuxième par 2, etc.

Recréons maintenant la matrice 3x3.

>> M=[1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9

Pour éliminer la troisième colonne, entrez M(:,3)=[ ]

>> M(:,3)=[ ]
M =
1 2
4 5
7 8

Cette instruction sélectionne toutes les lignes de la troisième colonne et leur affecte une valeur nulle.

$$ \begin{pmatrix} 1 & 2 & \not{3} \\ 4 & 5 & \not{6} \\ 7 & 8 & \not{9} \end{pmatrix} $$

En conséquence, la troisième colonne est retirée.

$$ \begin{pmatrix} 1 & 2 \\ 4 & 5 \\ 7 & 8 \end{pmatrix} $$

La matrice obtenue est alors un format rectangulaire 3x2, comportant trois lignes et deux colonnes.

Suppression simultanée de plusieurs lignes ou colonnes : mode d'emploi

Pour retirer plusieurs lignes ou colonnes d'une matrice, il faut spécifier la liste des colonnes ou des lignes à éliminer entre crochets.

Illustrons cela par un exemple : créez une matrice 4x4.

>> M=[1 2 3 4; 5 6 7 8; 9 8 7 6; 5 4 3 2]
M =
1 2 3 4
5 6 7 8
9 8 7 6
5 4 3 2

Pour éliminer les première et dernière lignes, entrez la commande M([1 4],:)=[ ].

Indiquez la liste des lignes à supprimer [1 4], placée entre crochets, comme premier paramètre de la commande.

Isoler les numéros des lignes à l'aide de

>> M([1 4],:)=[ ]
M =
5 6 7 8
9 8 7 6

En utilisant la commande M([1 4],:)=[ ], vous retirez les première et troisième lignes de la matrice.

$$ \begin{pmatrix} \not{1} & \not{2} & \not{3} & \not{4} \\ 5 & 6 & 7 & 8 \\ 9 & 8 & 7 & 6 \\ \not{5} & \not{4} & \not{3} & \not{2} \end{pmatrix} $$

Cela donne pour résultat une matrice rectangulaire 2x4, composée de deux lignes et quatre colonnes.

$$ \begin{pmatrix} 5 & 6 & 7 & 8 \\ 9 & 8 & 7 & 6 \end{pmatrix} $$

Pour supprimer ensuite les deuxième, troisième et quatrième colonnes, saisissez M(:,[2 3 4])=[ ].

Dans ce contexte, la liste des colonnes à éliminer [2 3 4] comprend trois éléments.

>> M(:,[2 3 4])=[ ]
M =
5
9

La commande M(:,[2 3 4])=[ ] permet de retirer les deuxième, troisième et quatrième colonnes de la matrice :

$$ \begin{pmatrix} 5 & \not{6} & \not{7} & \not{8} \\ 9 & \not{8} & \not{7} & \not{6} \end{pmatrix} $$

Il en résulte une matrice 2x1, soit un vecteur colonne.

$$ \begin{pmatrix} 5 \\ 9 \end{pmatrix} $$

Pour conclure, un dernier conseil pratique vous est proposé.

Quand les lignes ou colonnes sont consécutives, il est possible de simplifier l'indication en utilisant un deux-points (:) comme séparateur pour définir l'intervalle, plutôt que d'énumérer chaque élément. Par exemple, pour supprimer les deuxième, troisième et quatrième colonnes, vous pouvez aussi utiliser M(:,[2:4])=[ ].

Dans ce cas, vous indiquez l'intervalle [2:4] au lieu de la liste complète [2 3 4].

>> M(:,[2:4])=[ ]
M =

5
9

Le résultat final reste identique.

Cette méthode vous permet de supprimer aisément n'importe quelle ligne ou colonne d'une matrice sous Matlab.

 
 

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

FacebookTwitterLinkedinLinkedin

Matrices dans Matlab

FAQ