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?

 采纳的回答

Stephen23
Stephen23 2018-9-17
编辑:Stephen23 2018-9-21
"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
10>6>4
is exactly equivalent to this:
(10>6)>4
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).

更多回答(1 个)

Steven Lord
Steven Lord 2018-9-17
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.

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

产品

版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by