[問題] 在指令列輸入 (1.4 + 1.2) - 2.6已回收

看板MATLAB作者 (自由是無價的)時間17年前 (2008/10/23 21:25), 編輯推噓3(305)
留言8則, 4人參與, 最新討論串1/1
在指令列輸入(1.4 + 1.2) - 2.6 為何會出現 ans = -4.4409e-016 這樣的情況呢? 這種很微小的誤差,到底是如何產生的? 謝謝! -- 當掉你的理由是假的;但你明年重修是真的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.0.57

10/23 23:08, , 1F
剛試了好幾組數字,只有這組會,該不會是bug吧
10/23 23:08, 1F

10/23 23:11, , 2F
暫存器誤差,詳細請閱讀計算機概論
10/23 23:11, 2F

10/24 00:41, , 3F
這在寫判斷式的時候必然會造成很大的困擾!有好的解決方法
10/24 00:41, 3F

10/24 00:41, , 4F
嗎?
10/24 00:41, 4F

10/24 00:44, , 5F
事實上在1002篇有提出好的解決方法!不知道有沒有其他更好
10/24 00:44, 5F

10/24 00:44, , 6F
的?1002亦被收錄精華區當中!
10/24 00:44, 6F

10/24 07:47, , 7F
abs((1.4+1.2)-2.6)<err 試試用這樣判斷吧
10/24 07:47, 7F

10/27 13:10, , 8F
其實cos90也一樣!!
10/27 13:10, 8F
文章代碼(AID): #1907jLaj (MATLAB)
文章代碼(AID): #1907jLaj (MATLAB)