歡迎來到函數近似的世界!
你好!歡迎來到數值方法中最實用的章節之一。在現實世界中,科學家和工程師很少能擁像 \(y = x^2\) 這樣完美的公式。相反,他們通常面對的是一組數據點——比如每十分鐘記錄一次的化學反應溫度。
在本章中,我們將學習如何找出一個能精確通過這些點的多項式。這讓我們能夠「填補空白」(插值)或預測未來可能發生的變化。如果起初覺得公式看起來有點長,不用擔心;一旦你掌握了當中的規律,其實它們非常有規律且易於跟隨!
1. 基礎:我們在做什麼?
想像你在紙上畫了三個點。你可以畫出無數條扭曲的線穿過它們,但只有一條特定的二次曲線(二次多項式)能完美地穿過這三點。我們的目標是運用兩種巧妙的方法來找出這條曲線的方程式:牛頓前向差分法 (Newton’s Forward Difference) 和 拉格朗日多項式 (Lagrange’s Polynomial)。
2. 牛頓前向差分插值法
當你的數據點間隔相等時,這種方法是你最好的朋友。如果你的 x 值例如是 1, 2, 3, 4... 那麼這就是最適合你的方法!
差分表
在使用公式之前,我們會先建立一個差分表 (Difference Table)。這只是觀察 y 值如何變化的一種方式。
• 一階差分 (\(\Delta f(x)\)): 將第二個 y 值減去第一個,第三個減去第二個,以此類推。\( \Delta f(x) = f(x + h) - f(x) \)。
• 二階差分 (\(\Delta^2 f(x)\)): 將一階差分再次相減。
• 神奇法則: 如果你有一個 \(n\) 次多項式,那麼第 \(n\) 階差分將會是一個常數。例如,對於二次函數(\(x^2\)),二階差分始終是相同的!
公式
要找出函數在某點 \(x\) 的值,我們使用:
\( f(x) = f(x_0) + \binom{p}{1}\Delta f(x_0) + \binom{p}{2}\Delta^2 f(x_0) + ... \)
其中 \( p = \frac{x - x_0}{h} \)。這裡,\(h\) 是「步長」(x 值之間的間距)。
小撇步: 把 \(p\) 想成是「距離起點有多少步?」。如果你想求 \(x=1.5\) 的值,而你的表格從 \(x=1\) 開始,間距為 \(1\),那麼 \(p\) 就是 \(0.5\)。
你知道嗎? 這種方法在 17 世紀被天文學家大量使用,用來預測行星的位置,而不必每次都進行繁瑣的計算!
常見錯誤:
檢查你的間隔! 學生常試圖在 x 值間距不相等(例如 \(x = 1, 2, 5, 10\))時使用牛頓法。這方法只有在間隔完全相同時才有效。如果不是,你就必須改用拉格朗日法。
重點總結: 牛頓法使用差分表來「逐步建立」多項式。它只適用於間隔相等的數據。
3. 拉格朗日插值多項式
如果說牛頓法是「逐步建設」的過程,那麼拉格朗日法就像是一套「量身定做」的西裝。它適用於任何數據點組合,無論 x 值之間的間距有多奇怪。
運作原理(類比)
想像你有三個點:A、B 和 C。拉格朗日法會建立三個獨立的迷你多項式:
1. 其中一個在 A 點時等於 A 的 y 值,但在 B 和 C 點時為零。
2. 其中一個在 B 點時等於 B 的 y 值,但在 A 和 C 點時為零。
3. 其中一個在 C 點時等於 C 的 y 值,但在 A 和 B 點時為零。
當你把這三個多項式加起來,就會得到一條完美穿過所有三個點的曲線!
規律
對於三個點 \((x_0, y_0), (x_1, y_1), (x_2, y_2)\),公式為:
\( L(x) = y_0 \frac{(x - x_1)(x - x_2)}{(x_0 - x_1)(x_0 - x_2)} + y_1 \frac{(x - x_0)(x - x_2)}{(x_1 - x_0)(x_1 - x_2)} + y_2 \frac{(x - x_0)(x - x_1)}{(x_2 - x_0)(x_2 - x_1)} \)
如果覺得這很難,別擔心! 只要記住「無視我」法則 (Ignore Me Rule):
在每個分數的分子中,放入所有 x 值,除了那個與前面 y 值對應的 x 值。例如,如果你前面放的是 \(y_0\),分子的括號裡就不要放 \(x_0\)。在分母中,你只需要將分子中的 \(x\) 替換為那個「被無視的」值即可。
快速回顧:何時該用哪種方法?
• 牛頓法: 當 x 值為 1, 2, 3, 4 時使用(間隔相等)。如果你有很多點,手算起來更快。
• 拉格朗日法: 當 x 值為 1, 2, 5, 12 時使用(間隔不相等)。而且它在一次性寫出整個多項式時也更方便。
重點總結: 拉格朗日多項式是透過將在特定數據點「開啟」並在其他點「關閉」的項相加而建立的。它們適用於任何間距。
4. 準確性與誤差
在數值方法中,我們總是關心自己可能「錯」了多少。
誤差 = 近似值 - 精確值
• 多項式在近似平滑曲線(如 \(e^x\) 或 \(\sin(x)\))方面表現出色。
• 然而,離已知數據點越遠(外推法),多項式的表現可能越「狂野」。請盡量將數值範圍控制在你的數據區間內!
總結清單
• 我會建立差分表嗎?(正確減去 y 值)。
• 我知道多項式的次數嗎?(如果三階差分是常數,則它是三次多項式)。
• 我會使用拉格朗日的「無視我」法則嗎?(規律識別是關鍵!)。
• 我用對方法了嗎?(間隔相等 = 牛頓法;任何間隔 = 拉格朗日法)。
你能行的!函數近似其實就是尋找連接數據點的正確規律。繼續練習表格減法,其餘的部分自然會融會貫通。