Using logical operators within if statement
14 次查看(过去 30 天)
显示 更早的评论
This probably is a very silly thing, but somehow I am not getting it right.
I need to input the value of a variable'um' from user. The value should lie within 0<um<1 to be acceptable, else has to be rejected. This is my program :
um=input('um(Between 0 and 1) =');
if um<0 & um>1
um=0;
disp('Enter a valid value');
end
If I try the two conditional statements i.e um<0 and um>1 individually , it works. However, using both the statements together, is accepting values of um greater than 1 as well.
I have tried all possible 'if' statements here, i.e :
if um<0 & um>1
if (um<0) & (um>1)
if (um<0) && (um>1)
if (um<0 && um>1)
Nothing seems to work out. I have done thins in C++ numerous times, but there is some problem with my syntax in MATLAB I guess.
Thanks in advance! :)
0 个评论
采纳的回答
Wayne King
2013-12-29
编辑:Wayne King
2013-12-29
You don't want an &, you want an or |
um=input('um(Between 0 and 1) =');
if (um<0 || um>1)
disp('Enter a valid value');
end
How can something be less than 0 and greater than 1? That should be the same in C++.
更多回答(2 个)
Andrei Bobrov
2013-12-29
while true
um=input('um(Between 0 and 1) =');
if um<0 || um>1
disp('Enter a valid value');
else
break;
end
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Argument Definitions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!