Si la matrice a un nom, on peut assigner un élément d’une matrice en
utilisant son indice entouré de crochets si les indices commencent à 0 et
entouré de doubles crochets si les indices commencent à 1.
Si on assigne avec :=, une nouvelle copie de la matrice est créée
et l’élément est modifié, et si on assigne avec =< la matrice est
modifiée sans faire de copie ce qui est plus rapide lorque la matrice est de
grande taille.
Par exemple :
Si A:=[[4,5],[2,6]], pour modifier A en la matrice
[[4,5],[3,6]] on peut taper :
A[1,0]:=3 ou
A[1,0]=<3 ou
A[[2,1]]:=3 ou
A[[2,1]]=<3
Puis on tape :
A
On obtient la nouvelle valeur de A :
[[4,5],[3,6]]
On peut aussi modifier une ligne, par exemple, si A:=[[4,5],[2,6]] pour
modifier en A la matrice [[4,5],[3,7]], on peut taper :
A:=[[4,5],[2,6]]
A[1]:=[3,7] ou
A[1]=<[3,7] ou
A[[2]]:=[3,7] ou
A[[2]]=<[3,7] ou
Puis on tape :
A
On obtient la nouvelle valeur de A :
[[4,5],[3,7]].
Remarque
Il faut utiliser =< avec précautions car tous les objets pointant sur
cette matrice seront modifiés. Dans un programme il faudra utiliser
copy lors de l’initialisation pour que les modifications se fassent sur
la copie (cf 8.4.14).
Par exemple :
On tape :
B:=[[4,5],[2,6]]
A=<B ou A:=B
A,B
On obtient :
[[4,5],[2,6]],[[4,5],[2,6]]
On tape :
B[1]=<[3,7] ou A[1]=<[3,7]
A,B
On obtient :
[[4,5],[3,7]],[[4,5],[3,7]]
Mais si on tape :
B:=[[4,5],[2,6]]
A:=copy(B)
A,B
On obtient :
[[4,5],[2,6]],[[4,5],[2,6]]
On tape :
B[1]=<[3,7]
A,B
On obtient :
[[4,5],[2,6]],[[4,5],[3,7]]
Ou si on tape :
B:=[[4,5],[2,6]]
A:=copy(B)
A,B
On obtient :
[[4,5],[2,6]],[[4,5],[2,6]]
On tape :
A[1]=<[3,7]
A,B
On obtient :
[[4,5],[3,7]],[[4,5],[2,6]]