~

Operador NÃO lógico.

Categoria: Language Fundamentals > Operators and Elementary Operations

Sintaxe

B = ~A

Retorna 1 onde A é zero e 0 onde é diferente de zero. Equivale a not(A).

Descrição

~ inverte uma máscara: se m = x > 3 marca os valores grandes, x(~m) seleciona os demais. Liga mais forte que os operadores de comparação e aritméticos, então ~x == y significa (~x) == y, o que raramente é o desejado; escreva ~(x == y) ou use x ~= y.

O mesmo símbolo, em uma lista de saídas como em [~, i] = max(x), diz ao MATLAB para ignorar aquela saída.

Argumentos de entrada

A
Array numérico ou lógico.

Argumentos de saída

B
Array lógico do mesmo tamanho de A.

Exemplo

x = [1 5 3 8];
m = x > 3
~m
x(~m)
[~, i] = max(x)
Saída
m = 1×4 logical array

   0   1   0   1
ans = 1×4 logical array

   1   0   1   0
ans = 1×2

     1     3
i = 4

Veja também

not & | xor ~=