# # Using functions with logical output

## # All and Any with empty arrays

Special care needs to be taken when there is a possibility that an array become an empty array when it comes to logical operators. It is often expected that if `all(A)`

is true then `any(A)`

must be true and if `any(A)`

is false, `all(A)`

must also be false. That is not the case in MATLAB with empty arrays.

```
>> any([])
ans =
0
>> all([])
ans =
1
```

So if for example you are comparing all elements of an array with a certain threshold, you need to be aware of the case where the array is empty:

```
>> A=1:10;
>> all(A>5)
ans =
0
>> A=1:0;
>> all(A>5)
ans =
1
```

Use the built-in function `isempty`

to check for empty arrays:

```
a = [];
isempty(a)
ans =
1
```