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] ou size(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.

Veja também

sub2ind find size max