2013-03-19 66 views
1

我正在为明天的累积考试而学习,并且在之前的考试中出现以下问题。我希望有人能向我解释这个问题? (〜m)是什么意思?Matlab运算符

这个问题说:
执行下面的脚本后,m的值是多少?

a=1; b=2; m=0; 
if (~m) 
    m = m+1; 
    if (a-b > 0) 
     m = m+1; 
    else 
     m = m -1; 
    end 
elseif (m > 1) 
    m = m + 2; 
else 
    m = m - 2; 
end 

正确的答案是0,但为什么?我会猜测,m = -2

+0

要了解'〜'的含义,只需键入'doc〜'。 – 2013-03-19 10:21:18

+0

我知道〜是什么意思,但我不确定写什么逻辑“if m” – Abi 2013-03-19 13:55:14

回答

9

~意味着NOT。但是,数字值都被认为是TRUE,除非它们等于0

所以,这实际上是由这种逻辑执行的命令是:

m = m+1; %Following if (~m) 
m = m-1; $Following else 

此外,还有在代码嵌套if语句。如果您使用多级缩进,这将更容易阅读。

+0

谢谢!我知道'〜'的意思是“不”,但我不确定“if(〜m)”实际上指的是什么 – Abi 2013-03-19 13:56:36