-1
我有一個matlab的問題,我幾乎可以肯定,我已經看到它在某個地方之前,周圍它,但現在我想解決它......當我做一個簡單的計算:Matlab沒有做正確的計算
>> 14336*0.005
你會得到預期的答案:
ans = 71.6800
,但使用時長格式:
format long; ans = 71.680000000000007
它似乎沒有成爲MATLAB一個問題:
ans==71.68 = 1
但是,如果我做一個詳細的計算:
ans/0.005 = 1.433600000000000e+04
ans==14336 = 0
ans-14336 = 1.818989403545856e-12
做任何人知道解決辦法擺脫1.81e-12的區別原始價值和最終價值?我想這是由於數據類型和東西,但有沒有解決方案?
//盧卡斯
解決方案是什麼?我不認爲你明確說明問題是什麼... – kkuilla 2015-02-10 15:09:56
歡迎來到浮點運算的世界。請參閱我已鏈接的重複答案(爲什麼24.0000不等於24.0000)以獲取更多詳細信息。 – rayryeng 2015-02-10 15:15:50