Is there any other way to set range in if- else statement?
3 views (last 30 days)
Show older comments
Navodita Das
on 29 May 2020
Commented: Soundarya Natarajan
on 30 May 2020
Hello, please help me with this code.
Why condition is not obeyed? or maybe something's missing?
Code:
m=45
if 0<m<2
disp('blow')
end
Result:
blow
0 Comments
Accepted Answer
Bjorn Gustavsson
on 29 May 2020
Your expression in the condition is not what you think it is. You set m to 45. Matlab interprets your test-condition thisly:
(0<m)<2
and since m is larger than zero (0<m) returns 1 (datatype logical), the next comparison is 1<2 which returns true again.
What you need to test is that 0<m and that m<2. Try that. Look for the help and documentation for and.
HTH
More Answers (2)
Adam Danz
on 29 May 2020
Explanation of the error
0<45<2 is the interpretted as (0<45)<2 or, simplifed to 1<2 where 1 is TRUE.
Solution
if 0<m && m<2
See Also
Categories
Find more on Matrix Indexing 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!