or, |

Find logical OR

Description

example

A | B performs a logical OR of arrays A and B and returns an array containing elements set to either logical 1 (true) or logical 0 (false). An element of the output array is set to logical 1 (true) if either A or B contain a nonzero element at that same array location. Otherwise, the array element is set to 0.

For bit-wise logical OR operations, see bitor.

or(A,B) is an alternate way to execute A | B, but is rarely used. It enables operator overloading for classes.

Examples

collapse all

Find the logical OR of two matrices. The result contains logical 1 (true) where either matrix contains a nonzero value. The zeros in the result indicate spots where both arrays have a value of 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

Create a truth table for 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

Input Arguments

collapse all

Operands, specified as scalars, vectors, matrices, or multidimensional arrays. Inputs A and B must either be the same size or have sizes that are compatible (for example, A is an M-by-N matrix and B is a scalar or 1-by-N row vector). For more information, see Compatible Array Sizes for Basic Operations.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Tips

  • You can chain together several logical operations, for example, A & B | C.

  • The symbols | and || perform different operations in MATLAB®. The element-wise OR operator described here is |. The short-circuit OR operator is ||.

  • When you use the element-wise & and | operators in the context of an if or while loop expression (and only in that context), they use short-circuiting to evaluate expressions. Otherwise, you must specify && or || to opt-in to short-circuiting behavior. See Logical Operators: Short Circuit for more information.

Compatibility Considerations

expand all

Behavior changed in R2016b

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

HDL Code Generation
Generate Verilog and VHDL code for FPGA and ASIC designs using HDL Coder™.

Introduced before R2006a