作者loteslogin (張三立)
看板C_and_CPP
標題Re: [問題] 請教一個計算誤差的問題
時間Mon Jul 6 14:22:54 2009
※ 引述《loteslogin (張三立)》之銘言:
有一個數學上的等式是這樣的:
√(x-y^2) ╭ x ╮
───── = √│── - 1│
y ╰ y^2 ╯
雖然算式很容易,可是放入計算機之後,兩者與真實數值之間的誤差可能會不一樣。
請問:左式與右式何者誤差較小?又,該如何分析呢?
1F:推 lovemost:不負責任的說左式誤差比較小~因為取近似值只取一次 07/03
2F:→ loteslogin:怎麼說近似值只取一次? 07/03
3F:→ su31o4gj83:我"覺得"要看 x/(y^2)與1 和 x與y^2 間的關係來決定 07/03
4F:→ su31o4gj83:開根號會容易造成誤差嗎 ?? 07/03
5F:→ loteslogin:在我實際的計算是 x 略大於 y^2 但是相差非常小。 07/03
6F:→ loteslogin:所以說這個算式的誤差會對結果造成不小的影響。 07/03
7F:推 aifos:左式的誤差應該比較小,以數學的觀點來說兩式是相等的,但是 07/03
8F:→ aifos:計算機的觀點因為右式的y取了平方又在開了一次根號已經造成 07/03
9F:→ aifos:y值(因為精確度問題)的誤差,所以個人認為左式的誤差值比較小 07/03
10F:→ aifos:還有就是除法也是造成精確度不准的一個因素 07/03
11F:推 ledia:只好再端出那篇 what every computer scientist should know 07/03
12F:→ ledia:about floating-point arithmetic 了 07/03
13F:推 Ebergies:推樓上 07/04
14F:推 NSV:改卷阿立... 07/05
請教 aifos 君,雖然汝講的詳細,但是在下卻聽的含糊,
能不能請您更仔細說明一下,為啥 y 平方之後又開了根號,誤差會更大?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.111.126.32
15F:推 Ebergies:你有看了 ledia 那篇嗎? 07/06 14:45
16F:→ loteslogin:那一篇是哪篇?…XD…(我可能太弱了…不知道是什麼意思 07/06 15:05
17F:→ loteslogin:…哇勒…別鬧了,全都是英文耶…對我來講是火星文啊… 07/06 15:41
18F:推 ledia:如果你想要把浮點數誤差搞清楚, 那一篇應該是經典之作了 07/06 17:01
19F:→ ledia:就算是一直翻字典, 也非常值得把他看完一遍 07/06 17:01
20F:→ ledia:而且說實在... 這種寫給大家看的文章英文應該不難才對 07/06 17:02