Pour désigner des éléments d'une matrice, on utilise la notation
A(B)
ou A(B,C)
; où B
et C
sont des
matrices d'indices ou des matrices de booléens.
Quand une expression A(B)
ou A(B,C)
est un membre gauche d'une
affectation, alors il s'agit d'une opération d'affectation si le membre
de droite de l'affectation s'évalue à une matrice non vide. On donne
alors une valeur à la sous matrice désignée par le membre gauche en utilisant
la valeur du membre droit. Il faut bien sûr que les deux sous matrices
aient des tailles compatibles (i.e il faut qu'elles aient la même
taille ou bien que le membre droit soit scalaire).
Il peut aussi s'agir d'une opération de délétion si le membre droit s'évalue à une matrice vide. On élimine alors les éléments désignés par le membre gauche. Les opérations d'affectation et de délétion changent bien sûr dynamiquement les dimensions de la matrice concernée.
Quand une expression A(B)
ou A(B,C)
apparaît dans une
expression Scilab (hors membre gauche d'une affectation), elle désigne
alors une sous matrice de la matrice A
et son évaluation
conduit à la création d'une nouvelle matrice.
Une expression A(B)
ou A(B,C)
désigne une sous matrice
de la matrice A
. Quand B
et C
sont des matrices
scalaires elles désignent les indices à utiliser pour désigner la
sous matrice. Quand B
et C
sont des matrices de booléens,
alors les indices à considérer sont les indices pour lesquels B
et C
prennent la valeur T
. On peut utiliser
la fonction find
pour obtenir explicitement les indices
correspondants.