2 views (last 30 days)
Carly McKee
Carly McKee on 17 Sep 2018
Edited: Stephen23 on 21 Sep 2018
I am reviewing for a test and one of the questions is "what would be the outcome of 10>6>4?" I thought it would be logical: 1 because all the statements are true, but when I put it into MATLAB it returned logical: 0 for any number I used. Can anyone explain this?

Accepted Answer

Stephen23 on 17 Sep 2018
Edited: Stephen23 on 21 Sep 2018
"Can anyone explain this?"
MATLAB has a binary operator gt, e.g. A>B, but it does not have a ternary operator A>B>C. So your example
is exactly equivalent to this:
The part in the parentheses will only ever return the values 0 (false) or 1 (true), so the second comparison will always return false (unless you reduce the value 4 to 0 or less).

More Answers (1)

Steven Lord
Steven Lord on 17 Sep 2018
Type the following into the MATLAB Editor:
y = 10>6>4;
The number 6 is underlined in orange. Hover over the number 6 to see what the Code Analyzer message says. The details explain how MATLAB interprets that statement and what you should use instead.

Community Treasure Hunt

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

Start Hunting!