and if in matlab?

2 visualizzazioni (ultimi 30 giorni)
darksideofthemoon101
darksideofthemoon101 il 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 Commento
Walter Roberson
Walter Roberson il 8 Dic 2011
There is no such thing as an if loop.

Accedi per commentare.

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

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

Categorie

Scopri di più su Cell Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by