Niggle with a ``simple'' if-else structure.

1 view (last 30 days)
Hi.
I want to enforce the following structure in MATLAB -
if a>20
{Statement set 1}
elseif 10<a<20
{Statement set 2}
else
{Statement set 3}
end
`a' can take only positive values, from 1 to 30.
My syntax for `elseif' might be wrong, but atleast in this post it clarifies what I'm trying to do :
1) if a > 20, execute statement set 1.
2) if a lies between 10 and 20, execute statement set 2.
3) if a < 10, execute statement set 3.
The problem is, it executes statement set 2 even if a < 10, probably because 10<a<20 is not allowed as an elseif condition.
Is there any other way of enforcing this structure in MATLAB? Or, can someone please suggest a correct `elseif' condition for this purpose.
Thanks.

Accepted Answer

David Sanchez
David Sanchez on 18 Jul 2013
Instead of
elseif 10<a<20
do the following:
elseif ( (a>10) && (a<20) )
  2 Comments
David Sanchez
David Sanchez on 18 Jul 2013
if you want a to be greater or equal to 10 and lessor equal to 20:
elseif ( (a>=10) && (a<=20) )

Sign in to comment.

More Answers (0)

Categories

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

Products

Community Treasure Hunt

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

Start Hunting!