[問題] 請教一個計算誤差的問題

看板C_and_CPP (C/C++)作者 (張三立)時間16年前 (2009/07/03 12:50), 編輯推噓5(509)
留言14則, 7人參與, 最新討論串1/2 (看更多)
有一個數學上的等式是這樣的: √(x-y^2) ╭ x ╮ ───── = √│── - 1│ y ╰ y^2 ╯ 雖然算式很容易,可是放入計算機之後,兩者與真實數值之間的誤差可能會不一樣。 請問:左式與右式何者誤差較小?又,該如何分析呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.111.126.31 ※ 編輯: loteslogin 來自: 140.111.126.31 (07/03 12:51)

07/03 13:43, , 1F
不負責任的說左式誤差比較小~因為取近似值只取一次
07/03 13:43, 1F

07/03 14:10, , 2F
怎麼說近似值只取一次?
07/03 14:10, 2F

07/03 14:15, , 3F
我"覺得"要看 x/(y^2)與1 和 x與y^2 間的關係來決定
07/03 14:15, 3F

07/03 14:16, , 4F
開根號會容易造成誤差嗎 ??
07/03 14:16, 4F

07/03 14:17, , 5F
在我實際的計算是 x 略大於 y^2 但是相差非常小。
07/03 14:17, 5F

07/03 14:18, , 6F
所以說這個算式的誤差會對結果造成不小的影響。
07/03 14:18, 6F

07/03 14:29, , 7F
左式的誤差應該比較小,以數學的觀點來說兩式是相等的,但是
07/03 14:29, 7F

07/03 14:31, , 8F
計算機的觀點因為右式的y取了平方又在開了一次根號已經造成
07/03 14:31, 8F

07/03 14:33, , 9F
y值(因為精確度問題)的誤差,所以個人認為左式的誤差值比較小
07/03 14:33, 9F

07/03 14:43, , 10F
還有就是除法也是造成精確度不准的一個因素
07/03 14:43, 10F

07/03 22:21, , 11F
只好再端出那篇 what every computer scientist should know
07/03 22:21, 11F

07/03 22:21, , 12F
about floating-point arithmetic 了
07/03 22:21, 12F

07/04 02:05, , 13F
推樓上
07/04 02:05, 13F

07/05 10:45, , 14F
改卷阿立...
07/05 10:45, 14F
文章代碼(AID): #1AJOuXyE (C_and_CPP)
文章代碼(AID): #1AJOuXyE (C_and_CPP)