Comment extraire des sous-matrices d'une matrice dans Matlab et Octave
Pour extraire une sous-matrice d'une matrice sur Matlab et Octave tapez
M([riga1 riga2],[col1 col2])
La commande a deux paramètres
- Le premier paramètre avant la virgule est la liste de lignes [ligne1 ligne2] ou la plage de lignes [ligne1 : ligne2] de la sous-matrice.
- Le deuxième paramètre après la virgule est la liste des colonnes [col1 col2] ou la plage de colonnes [col1 : col2] de la sous-matrice.
Remarque. Pour indiquer une plage de lignes/colonnes, utilisez le symbole : comme séparateur. Par exemple [1 : 3]. Inversement, pour indiquer une liste de lignes/colonnes simples, séparez les lignes/colonnes par un espace ou une virgule. Par exemple [1 2 3].
Exemples
Exemple 1
Créer une matrice 3x3
>> M = [ 1 2 3 ; 4 5 6 ; 7 8 9 ]
M =
1 2 3
4 5 6
7 8 9
Extraire la sous-matrice avec les deux premières lignes [1 : 2] et les deux dernières colonnes [2 : 3]
>> M([1:2],[2:3])
ans =
2 3
5 6
Le résultat est une sous-matrice 2x2
Exemple 2
Extrayez la sous-matrice en utilisant la première et la dernière ligne [1 3] et les deux dernières colonnes [2 : 3]
>> M([1 3],[2:3])
ans =
2 3
8 9
Le résultat est une autre sous-matrice 2x2
Dans ce cas, le premier paramètre [1 3] est une liste de lignes simples (la première ligne et la troisième ligne).
Le deuxième paramètre [2:3] est plutôt un intervalle entre une colonne initiale et finale (de la deuxième à la troisième colonne).