sub2ind

Converte subscritos de linha e coluna em índices lineares.

Categoria: Language Fundamentals > Matrices and Arrays

Sintaxe

ind = sub2ind(sz, I, J)

Retorna o índice linear do elemento (I,J) em um array de tamanho sz.

ind = sub2ind(sz, I1, I2, ..., In)

O mesmo para um array N-dimensional.

Descrição

O MATLAB guarda os arrays coluna a coluna, então o elemento da linha i e coluna j de uma matriz com m linhas tem índice linear i + (j-1)*m. sub2ind aplica essa regra para qualquer número de dimensões e verifica se os subscritos estão dentro dos limites.

É útil para escolher elementos espalhados, como uma diagonal ou uma lista de pontos, com um único vetor de índices.

Argumentos de entrada

sz
Vetor de tamanho do array, por exemplo [3 4].
I, J
Arrays de subscritos de mesmo tamanho. Cada valor deve ser inteiro positivo dentro da dimensão correspondente de sz.

Argumentos de saída

ind
Índices lineares, com o mesmo tamanho dos argumentos de subscrito.

Exemplo

M = magic(4);
k = sub2ind(size(M), [1 2 3], [2 3 4])
M(k)
Saída
k = 1×3

     5    10    15
ans = 1×3

     2    10    12

Veja também

ind2sub find size reshape