Les coefficients d'une matrice peuvent être référencés avec leurs indices précisés entre parenthèses, (). Par exemple, si l'on considère la matrice A suivante:
A = ! 1. 2. 3. ! ! 5. 4. 3. ! ! 1. 1. 1. !
Pour avoir l'élément de la troisième ligne, troisième colonne, il suffit de taper:
-->A33=A(3,3) A33 = 1.
Remarque: si la matrice est un vecteur colonne, on peut se contenter de référencer un élément en précisant uniquement son indice de ligne, et inversement pour un vecteur ligne.
Un des avantages d'un langage comme scilab est que l'on peut extraire des sous matrices tout aussi aisément. Quelques exemples simples sont illustrés ci-dessous:
-->A(:,2) ans = ! 2. ! ! 4. ! ! 1. !Cette commande permet d'extraire la deuxième colonne de la matrice A, les : indiquent que l'on prend toutes les lignes de la matrice.
-->A(3,:) ans = ! 1. 1. 1. !Dans cet exemple, on ne considère que la troisième ligne et toutes les colonnes.
-->A(1:2,1:2) ans = ! 1. 2. ! ! 5. 4. !
Passons maintenant à la syntaxe générale: si A est une matrice de taille (n,m) et si et sont deux vecteurs (ligne ou colonne) d'indices dont les valeurs sont telles que et alors A(V1,V2) est la matrice de dimension (p,q) formée par l'intersection des lignes et des colonnes. Exemples:
-->A([1 3],[2 3]) ans = ! 2. 3. ! ! 1. 1. !
ou encore:
-->A([3 1],[2 1]) ans = ! 1. 1. ! ! 2. 1. !
Dans la pratique on utilise généralement des extractions plus simples, comme celle d'un bloc contigü ou bien d'une ou plusieurs colonnes ou lignes. Dans ce cas, on utilise l'expression pour générer les vecteurs d'indices, ainsi que le caractère : pour désigner toute l'étendue dans la dimension adéquate. Ainsi, pour obtenir la sous matrice formée de la première et troisième ligne:
-->A(1:2:3,:) // ou encore A([1 3],:) ans = ! 1. 2. 3. ! ! 1. 1. 1. !
La fonction $ permet de n'afficher que la dernière ligne ou colonne de la matrice.
-->A($,$-1) ans = 1.Cette fonction nous donne l'élément de la dernière ligne et de l'avant dernière colonne.
-->A11=1; -->A12=[2 3 4]; -->A21=[1;1;1]; -->A22=[4,9,16;8,27,64;16,81,256];
Enfin on obtient A par concaténation de ces 4 blocs:
-->A=[A11,A12;A21,A22] A = ! 1. 2. 3. 4. ! ! 1. 4. 9. 16. ! ! 1. 8. 27. 64. ! ! 1. 16. 81. 256. !