Suppression de lignes ou de colonnes dans une matrice avec Octave

Dans le cadre de cette leçon, nous allons aborder le processus de suppression d'une ligne ou d'une colonne d'une matrice en utilisant Octave.

Pour illustrer ce processus, considérons l'exemple suivant

Créons une matrice carrée 3x3 et assignons-là à la variable M.

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

La matrice M est constituée de trois lignes et de trois colonnes.

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

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

Expliquons son fonctionnement:

  • Le chiffre 1 dans le premier paramètre M(1, :) sélectionne la première ligne de la matrice M.
  • Le caractère deux-points (:) dans le second paramètre M(1, :) permet de sélectionner toutes les colonnes.

La commande M(1,:)=[ ] assigne une valeur nulle [] à toutes les colonnes de la première ligne.

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

La suppression de la première ligne de la matrice M est ainsi réalisée.

En résulte une matrice 2x3 composée de deux lignes et de trois colonnes.

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

Pour supprimer d'autres lignes, il suffit d'indiquer le numéro de la ligne à supprimer. Par exemple, pour supprimer la deuxième ligne de la matrice, saisissez M(2,:)=[ ]. Le premier indice de ligne est 1, le deuxième est 2, et ainsi de suite.

Passons à un autre exemple pratique.

Reconstruisons la matrice 3x3

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

Pour supprimer la troisième colonne de la matrice, saisissez M(:, 3)=[ ]

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

La commande M(:, 3)=[ ] assigne une valeur nulle [ ] à toutes les lignes de la troisième colonne de la matrice.

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

La troisième colonne est ainsi supprimée.

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

Il en résulte une matrice 3x2, avec trois lignes et deux colonnes.

Comment supprimer plusieurs lignes ou colonnes en même temps ?

Pour supprimer plusieurs lignes ou colonnes d'une matrice, il suffit de saisir la liste des colonnes ou des lignes à supprimer en les mettant entre crochets.

Par exemple, créons une matrice carrée 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 supprimer la première et la dernière ligne de la matrice, saisissez M([1 4],:)=[ ], où [1 4] est la liste des lignes à supprimer, séparées par un espace ou une virgule.

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

Cette commande supprime donc les premières et quatrièmes 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} $$

Nous obtenons alors une matrice 2x4

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

Pour supprimer la deuxième, la troisième et la quatrième colonne de la matrice, saisissez M(:,[2 3 4])=[ ], où [2 3 4] est la liste des colonnes à supprimer.

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

Cette commande supprime donc les deuxièmes, troisièmes et quatrièmes colonnes de la matrice.

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

Le résultat final est une matrice 2x1, qui est un vecteur colonne :

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

En guise de conclusion, voici un conseil pratique.

Lorsque les lignes ou les colonnes à supprimer sont consécutives, il est préférable d'indiquer l'intervalle entre la première et la dernière, en utilisant un deux-points comme séparateur (:).

Par exemple, pour supprimer la deuxième, la troisième et la quatrième colonnes de la matrice M, saisissez M(:,[2: 4])=[ ]. Ici, vous indiquez l'intervalle [2: 4] plutôt que la liste [2 3 4].

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

Le résultat final reste le même. Les colonnes sont supprimées de la matrice.

 
 

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

FacebookTwitterLinkedinLinkedin

Tableaux dans Octave

Matrices dans Octave

FAQ

Struct et tableau cellulaire