and if in matlab?

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

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

Thanks Sean de, I just had a total blindspot there for some reason!

Sign in to comment.

More Answers (1)

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 Programming 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!