Is there any other way to set range in if- else statement?
1 回表示 (過去 30 日間)
古いコメントを表示
Navodita Das
2020 年 5 月 29 日
コメント済み: Soundarya Natarajan
2020 年 5 月 30 日
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 件のコメント
採用された回答
Bjorn Gustavsson
2020 年 5 月 29 日
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
その他の回答 (2 件)
Adam Danz
2020 年 5 月 29 日
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
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!