unique

Valores distintos de um array, ordenados, com mapas de índices opcionais.

Categoria: Language Fundamentals > Data Types

Sintaxe

C = unique(A)

Retorna os valores distintos de A, ordenados.

C = unique(A, 'stable')

Mantém a ordem da primeira aparição em vez de ordenar.

[C, ia, ic] = unique(A)

Também retorna vetores de índices: C = A(ia) e A = C(ic).

Descrição

unique remove valores repetidos. Números são ordenados em ordem crescente e texto em ordem alfabética. Vários NaN são considerados todos diferentes, então cada NaN é mantido.

A terceira saída ic é especialmente útil: accumarray(ic, 1) conta quantas vezes cada valor distinto ocorre.

Argumentos de entrada

A
Array numérico, lógico, de char, de strings, cell array de vetores de caracteres, categórico ou tabela.
'stable'
Retorna os valores na ordem em que aparecem pela primeira vez.

Argumentos de saída

C
Os valores distintos. Para entrada em vetor linha, o resultado é uma linha; para um cell array de texto, é uma coluna.
ia
Índices da primeira ocorrência de cada valor de C em A.
ic
Índices que reconstroem A a partir de C, um por elemento de A. Também serve para numerar grupos.

Exemplo

Valores, índices e ordem estável

[u, i, j] = unique([3 1 1 2 3])
unique({'b','a','b'})
unique([3 1 1 2 3], 'stable')
Saída
u = 1×3

     1     2     3
i = 3×1

     2
     4
     1
j = 5×1

     3
     1
     1
     2
     3
ans = 2×1 cell

    {'a'}
    {'b'}
ans = 1×3

     3     1     2

Veja também

union intersect histcounts accumarray sort ismember