Is there any other way to set range in if- else statement?

4 ビュー (過去 30 日間)
Navodita Das
Navodita Das 2020 年 5 月 29 日
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

採用された回答

Bjorn Gustavsson
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
  1 件のコメント
Navodita Das
Navodita Das 2020 年 5 月 30 日
Okay, Thanks alot. I got my mistake. Thank you for helping.

サインインしてコメントする。

その他の回答 (2 件)

Adam Danz
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

Soundarya Natarajan
Soundarya Natarajan 2020 年 5 月 30 日
if true
% code
end

カテゴリ

Help Center および File ExchangeMatched Filter and Ambiguity Function についてさらに検索

タグ

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by