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