6.43.12 Extraire un ou des élément(s) d’une matrice : at
Un matrice est une liste de listes de même longueur.
On tape :
A:=[[3,4,5],[1,2,6]]
On obtient :
[[3,4,5],[1,2,6]]
-
Pour obtenir un élément, on met deux arguments entre des crochets :
l’indice de la ligne et l’indice de la colonne séparé par une virgule.
On tape :
[[3,4,5],[1,2,6]][0,1]
ou
A[0,1]
ou
A[0][1]
ou
at(A,[0,1])
On obtient :
4
- Pour obtenir une ligne de la matrice A, on met l’indice de la
ligne entre des crochets, on tape:
[[3,4,5],[1,2,6]][0]
ou
A[0]
ou
at(A,0)
On obtient :
[3,4,2]
- Pour obtenir une sous-ligne de la matrice A, on met deux arguments
entre des crochets : l’indice de la ligne et un
intervalle pour désigner les indices des colonnes formant la sous-ligne.
On tape :
A[1,0..2]
On obtient :
[1,2,6]
On tape :
A[1,1..2]
On obtient :
[2,6]
- Pour obtenir, sous la forme d’une liste une colonne de la matrice
A, on utilise tran(A) qui
désigne la transposée de A et on tape :
tran(A)[1]
ou
at(tran(A),1)
On obtient :
[4,2]
ou encore on met deux arguments entre des crochets : un intervalle pour
désigner toutes les lignes et l’indice de la colonne.
On tape :
A[0..1,1]
On obtient :
[4,2]
- Pour avoir une liste représentant une sous-colonne, on met deux
arguments entre des crochets : un intervalle pour
désigner les indices des lignes formant la sous-colonne et l’indice de la
colonne.
On tape :
A[0..0,1]
On obtient :
[4]
Cela peut être utiliser pour extraire une colonne, en mettant comme premier
indice, l’intervalle désignant toutes les lignes.
On tape :
A[0..1,1]
On obtient :
[4,2]
- Pour extraire une sous-matrice d’une matrice, on met deux arguments entre
des crochets : un intervalle pour désigner les lignes et un intervalle pour
désigner les colonnes.
On définit la matrice A, on tape :
A:=[[3,4,5],[1,2,6]]
On tape :
A[0..1,1..2]
On obtient :
[[4,5],[2,6]]
On tape :
A[0..1,1..1]
On obtient :
[[4],[2]]
Remarque
Si on veut une sous matrice constituée de lignes consécutives complètes,
on peut ommettre le deuxième argument et ne mettre que l’intervalle
pour désigner les lignes entre des crochets.
On tape :
A[1..1]
On obtient :
[[1,2,6]]