Main Content

not, ~

Encontrar NOT lógico

Sintaxis

Descripción

ejemplo

~A devuelve un arreglo lógico o una tabla de valores lógicos del mismo tamaño que A. La salida contiene valores 1 lógicos (true) donde A es cero y valores 0 lógicos (false) donde A es distinto de cero.

not(A) es una forma alternativa de ejecutar ~A, pero se utiliza con poca frecuencia. Permite la sobrecarga de operadores para las clases.

Ejemplos

contraer todo

Cree una matriz identidad de 3 por 3.

A = eye(3)
A = 3×3

     1     0     0
     0     1     0
     0     0     1

Encuentre la negación lógica de A. La nueva matriz tiene el tipo logical.

B = ~A
B = 3x3 logical array

   0   1   1
   1   0   1
   1   1   0

Ejecute código basado en una condición utilizando el operador lógico NOT en el contexto de un bucle if.

Cree una variable lógica A.

A = false;

Use A para escribir un bloque de código IF/ELSE. Inserte el bloque IF/ELSE en un bucle for para que se ejecute cuatro veces.

for k = 1:4
    if ~A
        disp('IF block')
        A = true;
    else
        disp('ELSE block')
    end
end
IF block
ELSE block
ELSE block
ELSE block

En la primera iteración, A es false, por lo que el bloque if se ejecuta dado que ~A es true. No obstante, el bloque if también cambia el valor de A a true. En las iteraciones restantes, ~A es false y el bloque else se ejecuta.

Desde la versión R2023a

Cree una tabla y realice una operación lógica NOT en ella. Para realizar una operación lógica NOT en una tabla u horario, todas sus variables deben tener tipos de datos compatibles con las operaciones lógicas.

A = table([0;2],[0;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
          V1    V2
          __    __

    R1    0     0 
    R2    2     4 

~A
ans=2×2 table
           V1       V2  
          _____    _____

    R1    true     true 
    R2    false    false

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como escalar numérico, vector, matriz, arreglo multidimensional, tabla u horario.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | table | timetable
Soporte de números complejos:

Sugerencias

  • También puede utilizar el símbolo ~ como marcador de posición para un argumento de salida en una llamada a la función. Por ejemplo, [~,i] = max(A) suprime la primera salida de la función max y devuelve solo los índices de los valores máximos. Para obtener más información, consulte Ignorar entradas en definiciones de funciones.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.

Generación de código HDL
Genere código VHDL, Verilog y SystemVerilog para diseños FPGA y ASIC mediante HDL Coder™.

Historial de versiones

Introducido antes de R2006a

expandir todo