歡迎來到誤差的世界!
在進階數學中,我們經常使用數值方法 (Numerical Methods) 來解決那些無法單憑紙筆得出精確解的問題。由於我們使用的是近似值,我們必須精確了解自己可能「錯」得有多離譜。這就是本章的重點!如果一開始覺得這些概念有點「吹毛求疵」,請不用擔心;一旦你看懂了其中的規律,你會發現這其實是數學工具箱中非常合乎邏輯的一部分。
在本章中,我們將學習如何衡量誤差、誤差在計算過程中如何累積,以及如何利用這些誤差來讓我們的答案變得更精確。
1. 絕對誤差與相對誤差
當我們估算一個數值時,我們的猜測與真實數值之間總是存在差異。我們通常用以下兩種方式來衡量:
基本概念
設 \(x\) 為精確值 (exact value),\(X\) 為近似值 (approximate value)。
- 絕對誤差 (Absolute Error): 這就是近似值與精確值之間的簡單差異。
公式:\( \text{Absolute Error} = X - x \)
注意:在 MEI 課程中,這可能是正數也可能是負數。如果是正數,代表我們的近似值偏大! - 相對誤差 (Relative Error): 這將誤差與數值本身的大小進行比較。
公式:\( \text{Relative Error} = \frac{X - x}{x} \)
(如果無法得知精確值,有時我們會使用 \(\frac{X - x}{X}\) 來計算)。
生活化例子: 想像你在測量一條繩子。
如果你測量一條 10cm 的繩子時偏差了 1cm,那這誤差相當大(10% 的誤差)。
但如果你測量一條 1km 的電纜時偏差了 1cm,根本沒人在意(0.001% 的誤差)。
雖然絕對誤差是一樣的(1cm),但相對誤差才真正反映了誤差的嚴重程度!
重點總結: 絕對誤差是「差距」,而相對誤差是「百分比式的比較」。
2. 數字的表示:捨入 vs. 截斷
電腦和計算機的精度有限。它們無法儲存像 \(\pi\) 這樣無限的小數,所以必須將它們「切掉」。
兩種截斷數字的方法
- 捨入 (Rounding): 取最接近的數值。(例如:7.86 捨入到小數點後第一位是 7.9)。
- 截斷 (Chopping/Truncation): 直接忽略某一位之後的所有數字。(例如:7.86 截斷到小數點後第一位是 7.8)。
最大誤差速查指南
如果你將一個數字捨入到小數點後 \(n\) 位,最大絕對誤差為 \(0.5 \times 10^{-n}\)。
如果你將一個數字截斷到小數點後 \(n\) 位,最大絕對誤差為 \(1 \times 10^{-n}\)。
快速複習:
捨入至小數點後 2 位 \(\rightarrow\) 最大誤差 = \(0.005\)
截斷至小數點後 2 位 \(\rightarrow\) 最大誤差 = \(0.01\)
重點總結: 通常來說,截斷產生的誤差會比捨入更大!
3. 誤差傳播
這是一個比較專業的說法,意思是:「如果我的初始數字有誤差,那它會如何影響最終答案的誤差?」
算術運算
- 加法與減法: 誤差通常會累加。如果你將 200 個數字相加,而每個數字的最大誤差為 0.05,那麼總誤差可能高達 \(200 \times 0.05 = 10\)。
- 減法的危機! 當你減去兩個極為接近的數值時,常會發生常見錯誤。例如:1.23457 減去 1.23456 等於 0.00001。你幾乎損失了所有的「有效數字」,而原始數字中原本微小的誤差,相較於你最終得到的小數結果,瞬間變得非常巨大。
函數的誤差
如果 \(x\) 存在誤差,它會如何影響 \(f(x)\)?
我們可以使用導數(斜率)來估算:
\( \text{Error in } f(x) \approx f'(x) \times (\text{Error in } x) \)
你知道嗎? 這就是為什麼在程式設計中運算的順序非常重要。在長篇計算的最後才進行減法運算,有時會讓誤差「爆炸性」增長!
重點總結: 小心減去兩個相似的數字——這是最容易導致計算失準的元兇。
4. 收斂與方法的階數
當我們使用迭代法(如 Newton-Raphson 法)求根時,我們想知道逼近答案的速度有多快。這被稱為收斂階數 (Order of Convergence)。
誤差關係
設 \(\epsilon_n\) 為第 \(n\) 步的誤差。如果一個方法滿足以下條件,則稱其為 \(k\) 階方法:
\( \epsilon_{n+1} \approx C(\epsilon_n)^k \)
- 一階 (First Order, \(k=1\)): 每一步的誤差是前一步的固定比例(例如:二分法 Bisection method)。穩定但速度較慢。
- 二階 (Second Order, \(k=2\)): 誤差大致是前一步誤差的平方(例如:Newton-Raphson 法)。這非常快!如果你的誤差是 0.1,下一步可能就是 0.01,再下一步就是 0.0001。正確的小數位數幾乎每步都會翻倍。
重點總結: 階數越高,通常收斂速度越快。
5. 改善解(外推法 Extrapolation)
如果我們知道所用的方法有特定的「階數」,我們實際上可以利用這些資訊來預測「完美」的答案。這被稱為外推法 (extrapolation)。
差值比率
透過觀察一系列的近似值(我們稱之為 \(A_1, A_2, A_3\)),計算它們之間的差值。
如果這些差值的比率保持一致,我們就可以估算剩餘的誤差,並將其扣除,從而得到一個改善後的解。
考試步驟建議:
1. 計算連續近似值之間的差值。
2. 求出這些差值的比率。
3. 利用該比率「跳躍」至無窮遠處的極限值(真正的答案)。
重點總結: 誤差分析不僅僅是為了指出錯誤,它更是一個精確找到真實答案的強大工具!
複習小總結
- 絕對誤差 = \(X - x\)(差距)。
- 相對誤差 = \(\frac{X - x}{x}\)(比較)。
- 捨入最大誤差 = 最後一位位值的一半。
- 截斷最大誤差 = 最後一位的完整位值。
- 減去相似數字是導致精度流失的主要來源。
- Newton-Raphson 法通常是二階收斂(非常快)。
如果加法和乘法的誤差公式讓你感到困惑,請別擔心——只要記得測試「最壞情況」(最大可能值減去最小可能值),你通常就能輕鬆找出最大誤差!