all

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

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 1s. Note that all also converts all numeric values outside equations and inequalities to logical 1s and 0s. 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 1s:

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 1s and 0s. any(A,2) tests elements of each row and returns a column vector of logical 1s and 0s.

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.