ismember

Testa se elementos de um conjunto pertencem a outro conjunto.

Categoria: Language Fundamentals > Data Types

Sintaxe

tf = ismember(A, S)

Retorna true para cada elemento de A que é encontrado em S.

[tf, loc] = ismember(A, S)

Retorna também o índice em S de cada correspondência.

Descrição

ismember é a ferramenta habitual para filtrar por pertinência, por exemplo manter só as linhas cujo código aparece numa lista permitida. Cell arrays de texto são comparados como strings inteiras. NaN nunca casa com NaN, porque os dois não são iguais.

A segunda saída transforma a função em uma consulta: loc pode indexar dados paralelos a S.

Argumentos de entrada

A
Elementos a procurar: números, caracteres, strings ou um cell array de vetores de caracteres. Um valor de texto único é tratado como um elemento.
S
O conjunto onde procurar, de tipo compatível.

Argumentos de saída

tf
Array lógico do mesmo tamanho de A.
loc
Array double do mesmo tamanho de A: o índice em S do elemento correspondente, ou 0 se não houver.

Exemplo

Pertinência e posições

[tf, loc] = ismember([1 5 2 2], [2 1 0])
ismember({'a','q'}, {'a','b'})
ismember(NaN, [NaN 1])
Saída
tf = 1×4 logical array

   1   0   1   1
loc = 1×4

     2     0     1     1
ans = 1×2 logical array

   1   0
ans = logical
   0

Veja também

unique intersect setdiff union find contains