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

3 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Bjorn Gustavsson
Bjorn Gustavsson el 29 de Mayo de 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

Más respuestas (2)

Adam Danz
Adam Danz el 29 de Mayo de 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

Soundarya Natarajan
Soundarya Natarajan el 30 de Mayo de 2020
if true
% code
end

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by