Documentation

# all

Test whether all equations and inequalities represented as elements of symbolic array are valid

## Syntax

``all(A)``
``all(A,dim)``

## Description

example

````all(A)` tests whether all elements of `A` return logical `1` (`true`). If `A` is a matrix, `all` tests all elements of each column. If `A` is a multidimensional array, `all` tests all elements along one dimension.```

example

````all(A,dim)` tests along the dimension of `A` specified by `dim`.```

## Examples

### Test All Elements of Symbolic Vector

Create vector `V` that contains the symbolic equation and inequalities as its elements:

```syms x V = [x ~= x + 1, abs(x) >= 0, x == x];```

Use `all` to test whether all of them are valid for all values of `x`:

`all(V)`
```ans = logical 1```

### Test All Elements of Symbolic Matrix

Create this matrix of symbolic equations and inequalities:

```syms x M = [x == x, x == abs(x); abs(x) >= 0, x ~= 2*x]```
```M = [ x == x, x == abs(x)] [ 0 <= abs(x), x ~= 2*x]```

Use `all` to test equations and inequalities of this matrix. By default, `all` tests whether all elements of each column are valid for all possible values of variables. If all equations and inequalities in the column are valid (return logical `1`), then `all` returns logical `1` for that column. Otherwise, it returns logical `0` for the column. Thus, it returns `1` for the first column and `0` for the second column:

`all(M)`
```ans = 1×2 logical array 1 0```

### Specify Dimension to Test Along

Create this matrix of symbolic equations and inequalities:

```syms x M = [x == x, x == abs(x); abs(x) >= 0, x ~= 2*x]```
```M = [ x == x, x == abs(x)] [ 0 <= abs(x), x ~= 2*x]```

For matrices and multidimensional arrays, `all` can test all elements along the specified dimension. To specify the dimension, use the second argument of `all`. For example, to test all elements of each column of a matrix, use the value 1 as the second argument:

`all(M, 1)`
```ans = 1×2 logical array 1 0```

To test all elements of each row, use the value 2 as the second argument:

`all(M, 2)`
```ans = 2×1 logical array 0 1```

### Test Arrays with Numeric Values

Test whether all elements of this vector return logical `1`s. Note that `all` also converts all numeric values outside equations and inequalities to logical `1`s and `0`s. The numeric value 0 becomes logical `0`:

```syms x all([0, x == x])```
```ans = logical 0```

All nonzero numeric values, including negative and complex values, become logical `1`s:

`all([1, 2, -3, 4 + i, x == x])`
```ans = logical 1```

## Input Arguments

collapse all

Input, specified as a symbolic array. For example, it can be an array of symbolic equations, inequalities, or logical expressions with symbolic subexpressions.

Dimension, specified as an integer. For example, if `A` is a matrix, `any(A,1)` tests elements of each column and returns a row vector of logical `1`s and `0`s. `any(A,2)` tests elements of each row and returns a column vector of logical `1`s and `0`s.

## Tips

• If `A` is an empty symbolic array, `all(A)` returns logical `1`.

• If some elements of `A` are just numeric values (not equations or inequalities), `all` converts these values as follows. All numeric values except 0 become logical `1`. The value 0 becomes logical `0`.

• If `A` is a vector and all its elements return logical `1`, `all(A)` returns logical `1`. If one or more elements are zero, `all(A)` returns logical `0`.

• If `A` is a multidimensional array, `all(A)` treats the values along the first dimension that is not equal to 1 (nonsingleton dimension) as vectors, returning logical `1` or `0` for each vector.