Main Content

or, |

Trovare l'OR logico

Sintassi

Descrizione

esempio

A | B esegue un OR 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 A o B contengono un elemento non zero in quella stessa posizione. In caso contrario, l'elemento viene impostato su 0.

Per le operazioni di OR logico bit per bit, vedere bitor.

or(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'OR logico di due matrici. Il risultato contiene 1 (true) logico dove una matrice o l'altra contiene un valore non nullo. Gli zeri nel risultato indicano i punti in cui entrambi gli array hanno un valore pari a 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 = 3x3 logical array

   1   1   0
   1   1   1
   1   0   0

Creare una tabella di verità per or.

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   1
   1   0

Dalla release R2023a

Creare due tabelle ed eseguire un OR 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    true 
    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 OR elemento per elemento qui descritto è |. L'operatore OR 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

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