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

2 个投票

"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

0 个投票

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