Using function any with multiple conditions

7 views (last 30 days)
JR
JR on 11 Jul 2017
Edited: Adam on 11 Jul 2017
Say I have A= [5 11 10 8];
I want to check if
  1. there are any values greater than 9 but not less than 6
  2. there are any values less than 6 but not greater than 9
  3. the array contains values greater than 9 and less than 6
My code looks like this:
if any(A>9)
'do this';
elseif any (A<6);
'do that';
elseif any (A>6 && A<5)
'do this';
end
However, I am getting this error : Operands to the and && operators must be convertible to logical scalar values.
How do I fix
any (A>6 && A<5)
since its the one that is giving me errors. Also is it necessary to use the third
elseif

Answers (1)

Adam
Adam on 11 Jul 2017
Edited: Adam on 11 Jul 2017
That specific error should be fixable just by replacing && with &
The condition itself will always return false though unless what you really want is
any( A > 6 | A < 5 )

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!