What is the difference between "any" and "all" function?
315 views (last 30 days)
I am trying to learn the difference between any and all function but it seems like they both are equal and use for finding any non zero value. If anyone could explain with the difference between these two function, I will apprecite it a lot.
Image Analyst on 21 Feb 2023
any returns true if any of the elements are non-zero, while all returns true only if all of them are non-zero. For all to return true, there must not be a single 0 in the array. If there is even a single zero, then all() will return false.
v = [1 0 3 5]
all(v) % Not all are non-zero because the second element is not non-zero
v = [1,2,3,4]
all(v) % Every single element is non-zero -- ALL of them.
Sulaymon Eshkabilov on 21 Feb 2023
There is one significant difference between any() and all(). Here are definitions:
(1) any() - any True if any element of a vector is a nonzero number or is
logical 1 (TRUE). any ignores entries that are NaN (Not a Number).
(2) all() - all True if all elements of a vector are nonzero.
A = [1 1 0 1 0];
Another example - B = [1 1 1 1 1];
B = [1 1 1 1 1];
Another example - C = [ 0 0 0 0 0];
C = [ 0 0 0 0 0];
Walter Roberson on 21 Feb 2023
any: at least one of the inputs is non-zero
all: every input is non-zero
Mathematically, all(x) works out the same as ~any(~x)
- 0 0 any=false all=false
- 0 1 any=true all=false
- 1 0 any=true all=false
- 1 1 any=true all=true
any(x) is sum(x(:)~=0)>0
all(x) is sum(x(:)~=0)==numel(x)