ind2sub
Converte índices lineares em subscritos de linha, coluna e dimensões maiores.
Categoria: Language Fundamentals > Matrices and Arrays
Sintaxe
[r, c] = ind2sub(sz, ind)
Subscritos para uma matriz de tamanho sz.
[i1, i2, ..., iN] = ind2sub(sz, ind)
Um subscrito por dimensão.
Descrição
O MATLAB armazena arrays descendo pelas colunas, então os índices 1 a m formam a primeira coluna de uma matriz de m linhas, e assim por diante. ind2sub desfaz essa numeração, o que é preciso depois que find ou max devolve uma posição no array achatado. sub2ind é a inversa.
Se forem pedidas menos saídas que dimensões, a última saída absorve as restantes.
Argumentos de entrada
sz- Vetor de tamanho do array, como
[3 4]ousize(A). ind- Índice linear (ou array de índices) em ordem de coluna.
Argumentos de saída
r, c, ...- Arrays de subscritos, cada um do mesmo tamanho de
ind.
Exemplo
De volta aos subscritos
[r, c] = ind2sub([2 3], [1 4 6])
[r, c, p] = ind2sub([2 3 2], 11)
Saída
r = 1×3
1 2 2
c = 1×3
1 2 3
r = 1
c = 3
p = 2
Observações
Um índice além do tamanho do array não é reportado como erro no MatLivre.