1 < 5 > 2 gives false

1 commentaire

John D'Errico
John D'Errico le 13 Oct 2018
There is no need to close a question that has had answers provided. In fact, doing so removes the value of the answer provided for others to read.

Connectez-vous pour commenter.

 Réponse acceptée

John D'Errico
John D'Errico le 13 Oct 2018
Modifié(e) : John D'Errico le 13 Oct 2018

1 vote

You need to recognize how MATLAB evaluates a logical expression. Many people use that shorthand, to indicate two coupled comparisons. But MATLAB does not understand that as you do.
It sees the first expression, 1<5. The result is TRUE, represented as the number 1.
Then it compares that result to the number 2. Is 1 > 2? Of course not. So the result is false. Effectively, you can think of the expressions:
1 < 5 > 2
(1 < 5) > 2
as equivalent in the eyes of MATLAB.
So, IF you wanted to write the expression
(1 < 5) && (5 > 2)
then you need to write it as two separate comparisons, not in a shorthand, something that means what you want it to mean. In fact, the order of operations allows you to write the above pair of comparisons without parens, since || and && occupy a lower place in the operator precedence table. You can find the complete list here:
1 < 5 && 5 > 2
Personally, I always choose to use parens there, even though I know the two versions, with and without those parens are the same. It is easier to read, to know unequivocably what was intended when parens are employed. And since easy to read code is of paramount importance when you write code, I just use those parens, because I want to be able to easily read my code when I may need to debug it next month or next year.

Plus de réponses (1)

KALYAN ACHARJYA
KALYAN ACHARJYA le 13 Oct 2018
Modifié(e) : KALYAN ACHARJYA le 13 Oct 2018

0 votes

Here Logic is false
1 < 5 > 2
1<5 gives 0
and 0>2 false
so Ans 0
If you do others
3>2>0 gives you 1
as 3>2 true gives 1, which is > 0
Ans 1
Hope it clears your doubt

2 commentaires

Akash Sinhal
Akash Sinhal le 13 Oct 2018
how does 1 < 5 be false?
KALYAN ACHARJYA
KALYAN ACHARJYA le 13 Oct 2018
Modifié(e) : KALYAN ACHARJYA le 13 Oct 2018
Because 1<5 True its gives you 1, next 1>2 False, so result false

Connectez-vous pour commenter.

Produits

Version

R2018b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by