L'accès au terme sur la i ème ligne et j ème colonne d'une matrice A peut se faire de deux manières :
Exemple :
>>A=[1 5 9;2 6 10 ;3 7 11 ;4 8 12] A = 1 5 9 2 6 10 3 7 11 4 8 12 >>A(2,3) ans = 10 >>A(10) ans = 10
Pour convertir un couple d'indices en un indice linéaire, on peut utiliser la commande sub2ind
>>l = sub2ind(size(A),2,3) l = 10et pour faire l'opération inverse la commande ind2sub
>>[i,j] = sub2ind(size(A),10) i = 2 j = 3
Les indices linéaires sont utiles pour accéder à plusieurs termes d'une matrice à la fois. Exemple :
>>I=[2,1,4,2]; >>J=[3,2,1,3]; >>[I;J] ans = 2 1 4 2 3 2 1 3 >>L=sub2ind(size(A),I,J) L = 10 5 4 10 >>A(L) ans = 10 5 4 10
Par ailleurs, il est possible d'extraire des sous-matrices de matrice. Exemples :
>>A(2,:) %extraction de la 2è ligne de A ans = 2 6 10 >>A(:,3) %extraction de la 3è colonne de A ans = 9 10 11 12 >>A([1,4],:) %extraction de la sous-matrices sur les lignes 1 et 4 de la matrice A ans = 1 5 9 4 8 12 >>A([1:3],[1,3]) %extraction de la sous-matrices formée sur les lignes 1 à 3 %et colonnes 1 et 3 de la matrice A ans = 1 9 2 10 3 11