and if in matlab?

3 Ansichten (letzte 30 Tage)
darksideofthemoon101
darksideofthemoon101 am 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 Kommentar
Walter Roberson
Walter Roberson am 8 Dez. 2011
There is no such thing as an if loop.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 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 !!

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by