作者tlkf ( 噗~)
看板MATLAB
標題[討論] 請教關於科學記號表示
時間Mon Nov 5 23:15:03 2012
對於計算結果數值太大或太小的時候
matlab會自動用科學記號的方式表示
但是今天跑程式突然出現一個狀況
我把運算結果放在array的index裡
算到一半就出現警告 告訴我index必須是整數
雖然還是可以繼續算
不過最後出來的結果是錯的@@
我檢查了一下發現
我的matlab在算1000*(15.196+1) 時
結果會變成 1.6196e+004
但是明明更大的數1000*(19.2920+1)
卻可以正常顯示成 20292 @@"
自己覺得很奇怪
就算用科學記號表示 實際數值應該也不會有錯才對
沒道理得到的結果會變成錯的
就再測試一下
a1=1000*(15.196+1)
b1=16196
a1==b1
結果跑出來ans=0 @@"
a2=1000*(19.292+1)
b2=20292
a2==b2
結果ans=1 囧"
想請教大家
是我什麼地方誤會了嗎.....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.154.209
1F:推 CBET:abs(a1 - b1) = 1.8190e-12 浮點數不會精確 11/06 09:58
2F:→ tlkf:所以是自己輸入的也不精確嗎? @@ 我還以為算出來的可能不準.. 11/07 20:15