Modification sélective d'éléments d'une matrice
Méthode :
Nous avons vu précédemment comment afficher un ou plusieurs éléments d'une matrice. En utilisant la même syntaxe nous pouvons modifier les éléments d'une matrice:
A=[1 0 3 5; 4 8 6 0; 7 8 9 10;2 3 1 3];
Pour afficher l'élement en ligne 3 colonne 2 on utilise :
A(3,2)
Pour modifier cet élémént on fera donc :
A(3,2)=28;
On peut vérifier le résultat :
A
Complément : Utilisation avec la commande find
La commande find permet de rechercher des éléments vérifiant une condition logique. Par xemple pour rechercher quels sont les éléments compris plus petit que 2 ou plus grand que 9 on fera :
ind=find(A<2 | A>9);
Pour vérifier il suffit d'écrire :
A(ind)
Si on veut remplacer ces éléments par 421 on écrira :
A(ind)=421;
Remarque : Remarque sur le résultat de find
La commande find donne comme résultat la position des élements dans une matrice vérifiant la condition logique. Si la matrice est rectangulaire alors le résultat n'est pas donné sous forme d'indices de ligne et colonne mais sous la forme d'une liste de nombres.
Une matrice est en effet une liste d'éléments ordonnés comme suit :
\(A=(a_{ij})\)
matrice de N lignes et M colonnes alors l'élément ij est en position i+(j-1)*N
Pour une matrice de 5 lignes et 4 colonnes l'ordre est alors le suivant :
\(\begin{matrix}1&6&11&16\\2&7&12&17\\3&8&13&18\\4&9&14&19\\5&10&15&20\end{matrix}\)