Contenuto principale

and, &

Trovare l'AND logico

Descrizione

A & B esegue un AND logico degli input A e B e restituisce un array o una tabella contenente elementi impostati su 1 (true) logico o 0 (false) logico. Un elemento dell'output viene impostato su 1 (true) logico se sia A che B contengono un elemento diverso da zero in quella stessa posizione. In caso contrario, l'elemento viene impostato su 0.

Per le operazioni di AND logico bit per bit, vedere bitand.

esempio

and(A,B) è un modo alternativo per eseguire A & B, ma è utilizzato di rado. Consente il sovraccarico degli operatori per le classi.

Esempi

comprimi tutto

Trovare l'AND logico di due matrici. Il risultato contiene 1 (true) logico solo quando entrambe le matrici contengono valori diversi da zero.

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 = 3×3 logical array

   1   1   0
   0   1   1
   1   0   0

Creare una tabella di verità per and.

A = [true false]
A = 1×2 logical array

   1   0

B = [true; false]
B = 2×1 logical array

   1
   0

C = A&B
C = 2×2 logical array

   1   0
   0   0

Dalla release R2023a

Creare due tabelle ed eseguire un AND logico. I nomi delle righe (se presenti in entrambi) e i nomi delle variabili devono essere uguali, ma non è necessario che siano nello stesso ordine. Le righe e le variabili dell'output sono nello stesso ordine del primo input.

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 

Argomenti di input

comprimi tutto

Operandi, specificati come scalari, vettori, matrici, array multidimensionali, tabelle o orari. Gli input A e B devono avere la stessa dimensione o dimensioni compatibili (ad esempio, A è una matrice M x N e B è uno scalare o un vettore riga di 1 x N). Per maggiori informazioni, vedere Grandezze di array compatibili per le operazioni di base.

Gli input costituiti da tabelle o orari devono soddisfare le seguenti condizioni: (da R2023a)

  • Se un input è una tabella o un orario, tutte le sue variabili devono avere tipi di dati che supportino l'operazione.

  • Se solo uno degli input è una tabella o un orario, l'altro input deve essere un array numerico o logico.

  • Se entrambi gli input sono tabelle o orari, è necessario che:

    • Entrambi gli input devono avere la stessa dimensione oppure uno di essi deve essere una tabella a una riga.

    • Le variabili di entrambi gli input devono avere lo stesso nome. Tuttavia, le variabili di ciascun input possono avere un ordine diverso.

    • Se entrambi gli input sono tabelle con nomi di righe, i nomi delle righe devono essere uguali. Tuttavia, i nomi delle righe di ciascun input possono avere un ordine diverso.

    • Se entrambi gli input sono orari, i tempi delle righe devono essere uguali. Tuttavia, i tempi delle righe di ciascun input possono avere un ordine diverso.

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | table | timetable

Suggerimenti

  • È possibile concatenare diverse operazioni logiche, ad esempio A & B | C.

  • I simboli & e && seguono operazioni diverse in MATLAB®. L'operatore AND elemento per elemento qui descritto è &. L'operatore AND di cortocircuito è &&.

  • Quando si utilizzano gli operatori elemento per elemento & and | nel contesto di un'espressione di if loop o while loop (e solo in quel contesto), tali operatori utilizzano il cortocircuito per valutare le espressioni. In caso contrario, è necessario specificare && o || per optare per il comportamento di cortocircuito. Per maggiori informazioni, vedere Short-Circuit AND e Short-Circuit OR.

Funzionalità estese

espandi tutto

Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.

Generazione di codice GPU
Genera codice CUDA® per GPU NVIDIA® con GPU Coder™.

Generazione di codice HDL
Genera codice VHDL, Verilog e SystemVerilog per progetti FPGA e ASIC utilizzando HDL Coder™.

Cronologia versioni

Introduzione prima di R2006a

espandi tutto