# or, |

Find logical OR

## Syntax

``A | B``
``or(A,B)``

## 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 `Short-Circuit AND` and `Short-Circuit OR` for more information.

## Version History

Introduced before R2006a

expand all