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