2014-01-11 30 views
0

我在matlab中發生了一件奇怪的事情。我試圖計算以下簡單的一行:直接計算在MATLAB中給出了其他結果

>> -0.5800^3+2*(-0.5800^2)+70*-0.5800+40 

ans = 

    -1.4679 

但是,結果不同,當我與賦值的變量(一)計算的話:

>> a = -0.5800; 
>> c = a^3+2*(a^2)+70*a+40 

c = 

    -0.1223 

我忽略了很多次,以確保我做沒有犯下一個愚蠢的錯誤。我是否錯過了這些情況下MATLAB的不同之處(使用變量進行計算)?我的計算器給出了較高的結果。在此先感謝您的澄清!

回答

3
-0.5800^3+2*(-0.5800^2)+70*-0.5800+40 
= -(0.5800^3)+2*(-(0.5800^2))+70*-0.5800+40 
= -1.4679 

而且具有可變它讀作:

(-0.5800)^3+2*((-0.5800)^2)+70*-0.5800+40 
= -0.1223 

關注你的括號和運算符優先級。

3

您好的問題是由於

(-0.5800^2) 

其作爲

-(0.5800^2) 
計算
相關問題