and if in matlab?

6 views (last 30 days)
darksideofthemoon101
darksideofthemoon101 on 8 Apr 2011
Hi,
I want to run an if loop with 2 conditions, but I can't see an "and-if" equivalent.
Eg:
if 0<x<1
*and y2<y1*
z=y2;
else
end
What operator can I use instead of and?
Thanks,
Richard
  1 Comment
Walter Roberson
Walter Roberson on 8 Dec 2011
There is no such thing as an if loop.

Sign in to comment.

Accepted Answer

Sean de Wolski
Sean de Wolski on 8 Apr 2011
&
&&
and(x,y)
doc and
  1 Comment
darksideofthemoon101
darksideofthemoon101 on 8 Apr 2011
Thanks Sean de, I just had a total blindspot there for some reason!

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 8 Apr 2011
0<x<1 does not do what you want it to!! It is parsed as
(0<x)<1 . 0<x returns a boolean value, 0 or 1, and then that value is tested according to whether it is < 1 which is only the case if the operation was false. The code is thus equivalent to
~(0<x)
and so is the same as
isnan(x) || 0 >= x
I doubt that you would want 0<x<1 to be true when x is nan !!

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!