MATLAB Function Reference
logical

Convert numeric values to logical

Syntax

• ```K = logical(A)
```

Description

```K = logical(A) ``` returns an array that can be used for logical indexing or logical tests.

`A(B)`, where `B` is a logical array, returns the values of `A` at the indices where the real part of `B` is nonzero. `B` must be the same size as `A`.

Remarks

Most arithmetic operations remove the logicalness from an array. For example, adding zero to a logical array removes its logical characteristic. `A = +A` is the easiest way to convert a logical array, `A`, to a numeric double array.

Logical arrays are also created by the relational operators (`==`,`<`,`>`,`~`, etc.) and functions like `any`, `all`, `isnan`, `isinf`, and `isfinite`.

Examples

Given `A = [1 2 3; 4 5 6; 7 8 9]`, the statement `B = logical(eye(3)) `returns a logical array

• ```B =
1   0   0
0   1   0
0   0   1
```

which can be used in logical indexing that returns `A`'s diagonal elements:

• ```A(B)

ans =
1
5
9
```

However, attempting to index into `A` using the numeric array `eye(3)` results in:

• ```A(eye(3))
??? Subscript indices must either be real positive integers or
logicals.
```

`islogical`, logical operators (elementwise and short-circuit),