Main Content

and, &

Encontrar AND lógico

Descripción

ejemplo

A & B realiza una operación lógica AND con las entradas A y B, y devuelve un arreglo o una tabla que contiene elementos establecidos en 1 lógico (true) o 0 lógico (false). Un elemento de la salida se establece en 1 lógico (true) si tanto A como B contienen un elemento distinto de cero en la misma ubicación. De lo contrario, el elemento se establece en 0.

Para realizar operaciones AND lógicas bit por bit, consulte bitand.

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

Ejemplos

contraer todo

Encuentre el AND lógico de dos matrices. El resultado contiene 1 lógico (true) solo cuando ambas matrices contienen valores distintos de cero.

A = [5 7 0; 0 2 9; 5 0 0]
A = 3×3

     5     7     0
     0     2     9
     5     0     0

B = [6 6 0; 1 3 5; -1 0 0]
B = 3×3

     6     6     0
     1     3     5
    -1     0     0

A & B
ans = 3x3 logical array

   1   1   0
   0   1   1
   1   0   0

Cree una tabla de verdad para and.

A = [true false]
A = 1x2 logical array

   1   0

B = [true; false]
B = 2x1 logical array

   1
   0

C = A&B
C = 2x2 logical array

   1   0
   0   0

Desde la versión R2023a

Cree dos tablas y realice una operación AND lógica de ellas. Los nombres de las filas (si están presentes en ambas) y los nombres de las variables deben ser iguales, pero no necesitan estar en el mismo orden. Las filas y las variables de la salida están en el mismo orden que la primera entrada.

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

    R1    0     0 
    R2    2     4 

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

    R2    4     3 
    R1    2     0 

A & B
ans=2×2 table
           V1       V2  
          _____    _____

    R1    false    false
    R2    true     true 

Argumentos de entrada

contraer todo

Operandos, especificados como escalares, vectores, matrices, arreglos multidimensionales, tablas u horarios. Las entradas A y B deben ser del mismo tamaño o tener tamaños compatibles (por ejemplo, A es una matriz M por N y B es un escalar o un vector fila 1 por N). Para obtener más información, consulte Tamaños de arreglos compatibles para operaciones básicas.

Las entradas que son tablas u horarios deben satisfacer estas condiciones: (desde R2023a)

  • Si una entrada es una tabla o un horario, todas sus variables deben tener tipos de datos que admitan la operación.

  • Si solo una entrada es una tabla u horario, la otra entrada debe ser un arreglo lógico o numérico.

  • Si ambas entradas son tablas u horarios:

    • Ambas entradas deben tener el mismo tamaño, o bien una de ellas debe ser una tabla de una fila.

    • Ambas entradas deben tener variables con los mismos nombres. Sin embargo, las variables de cada entrada pueden estar en un orden diferente.

    • Si ambas entradas son tablas y ambas tienen nombres de filas, los nombres de sus filas deben ser los mismos. Sin embargo, los nombres de las filas de cada entrada pueden estar en un orden diferente.

    • Si ambas entradas son horarios, las horas de sus filas deben ser iguales. Sin embargo, las horas de las filas de cada entrada pueden estar en un orden diferente.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | table | timetable

Sugerencias

  • Puede encadenar juntas varias operaciones lógicas, por ejemplo, A & B | C.

  • Los símbolos & y && realizan operaciones distintas en MATLAB®. El operador AND elemento por elemento que se describe aquí es &. El operador AND con cortocircuito es &&.

  • Cuando utiliza los operadores & y | elemento por elemento en el contexto de una expresión de bucle if o while (y solo en ese contexto), se utilizan cortocircuitos para evaluar expresiones. De lo contrario, debe especificar && o || para aceptar el comportamiento de cortocircuito. Para obtener más información, consulte Short-Circuit AND y Short-Circuit OR.

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 Verilog y VHDL para diseños FPGA y ASIC mediante HDL Coder™.

Historial de versiones

Introducido antes de R2006a

expandir todo