歡迎來到方程式求解的世界!

在你過往的數學學習中,你花了不少時間利用代數來解像 \(x^2 - 5x + 6 = 0\) 這類方程式。但在現實世界中,大多數方程式都比較「雜亂」,它們通常沒有工整且精確的答案。這就是數值方法 (Numerical Methods) 大顯身手的時候了!你可以把這些方法想像成一種「放大鏡」,用來聚焦並逼近一個解,直到它達到你工作所需的精度——無論你是要建造橋樑還是計算利率,都能派上用場。

1. 起點:定位根的區間 (Bracketing the Root)

在我們能夠「放大」並找出解(即「根」)之前,我們需要先知道它大致在哪個範圍。我們通常會尋找符號變號 (sign change)。如果一個連續函數 \(f(x)\) 在某點的值為負,而在另一點的值為正,那麼它在兩點之間必定在某處穿過零點。

重點重溫:如果 \(f(a)\) 和 \(f(b)\) 的符號相反,即 \(f(a) \times f(b) < 0\),這意味著在 \(a\) 和 \(b\) 之間至少存在一個根。

2. 二分法 (Bisection Method)

二分法是尋找根的最簡單方法。它就像在玩「猜數字大小」的遊戲。

運作原理:

1. 找出一個發生符號變號的區間 \([a, b]\)。
2. 計算中點:\(x = \frac{a+b}{2}\)。
3. 檢查 \(f(x)\) 的符號。
4. 用中點取代 \(a\) 或 \(b\),使根始終被「夾」在一個更小的區間內。
5. 重複以上步驟,直到區間小到滿足你所需的精確度。

類比:想像你在找書中特定的一頁。你直接從中間翻開。如果你要找的頁碼在後面,你就忽略前半部分,再從剩下的後半部分的中間翻開。你不斷地將搜尋範圍減半,直到找到那一頁為止!

小結:它非常可靠(只要有符號變號,它幾乎不會失敗),但速度相當慢。

3. 假位法 (False Position) 與正割法 (Secant Method)

二分法總是取中點,而假位法(又稱線性插值法)則更聰明一些。它在 \((a, f(a))\) 和 \((b, f(b))\) 之間畫一條直線,觀察這條直線與 x 軸的交點。

正割法與其相似,但不要求根必須被「夾」住。它利用最近的兩個估算值畫出一條直線,用以預測下一個點。別擔心,如果這聽起來很複雜,只要記得這些方法都是利用直線來預測曲線的走向即可。

4. 不動點迭代法 (Fixed Point Iteration):\(x = g(x)\)

這個方法涉及將方程式 \(f(x) = 0\) 改寫為 \(x = g(x)\) 的形式。然後,你選擇一個初始值 \(x_0\),並不斷將結果代回公式中:\(x_{n+1} = g(x_n)\)。

階梯圖與蛛網圖

當你繪製圖形時,會看到兩種有趣的模式:
- 階梯圖 (Staircase Diagram):數值從一側向根逼近。
- 蛛網圖 (Cobweb Diagram):數值向根「螺旋式」逼近(如果失敗了則會螺旋擴散!)。

你知道嗎?此方法僅在函數 \(g(x)\) 在根附近的斜率夠平緩時才有效(收斂)。具體來說,我們需要 \(|g'(x)| < 1\)。如果直線太陡,你的「蛛網」就會螺旋遠離答案!

5. 牛頓-拉弗森法 (Newton-Raphson Method)

這是求解方法中的「一級方程式 (Formula 1) 賽車」。它通常比其他方法快得多,利用曲線的切線(斜率)向根部「滑落」。

公式為:
\[x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\]

記憶口訣:「當前值減去(函數值除以斜率)」。

為什麼會失敗:

儘管速度很快,但牛頓-拉弗森法並不完美。如果發生以下情況,它可能會失敗:
- 初始點接近駐點 (stationary point)(即 \(f'(x) = 0\) 的地方)。這會導致除以零,使「賽車」飛出賽道!
- 曲線非常平坦,導致下一次估算的數值離根部十萬八千里。

小結:牛頓-拉弗森法具有二階收斂 (second-order convergence),意味著正確的小數位數大約會在每一步驟中翻倍!

6. 收斂與精確度

在考試中,你可能會被要求證明答案的準確性。如果題目要求保留 3 位小數,你應該展示該值的邊界處存在符號變號(例如,針對 \(1.234\),檢查 \(1.2335\) 和 \(1.2345\) 是否符號相反)。

關鍵術語:收斂階數 (Order of Convergence)
- 一階收斂:誤差每次減少一個固定的倍數(如不動點迭代法)。
- 二階收斂:誤差減少的速度快得多(如牛頓-拉弗森法)。

7. 鬆弛法 (The Method of Relaxation)

有時候,不動點迭代法 \(x = g(x)\) 會太慢或發散(失敗)。我們可以利用鬆弛法來「修正」它。我們引入一個「鬆弛參數」\(\lambda\) (lambda),將舊值與新估算值進行混合。

鬆弛迭代法的公式為:
\[x_{n+1} = (1 - \lambda)x_n + \lambda g(x_n)\]

通過選擇合適的 \(\lambda\),我們可以強迫發散的數列收斂,或讓緩慢的數列變快。想像這就像一個調光開關——你正在調整迭代的「強度」以保持其在控制範圍內。

總結檢查清單

1. 二分法:穩定但緩慢。只要有符號變號,一定成功。
2. 不動點迭代:使用 \(x = g(x)\)。僅在 \(|g'(x)| < 1\) 時有效。留意蛛網圖和階梯圖!
3. 牛頓-拉弗森:非常快(二階收斂)。若斜率為零則失敗。
4. 鬆弛法:使用 \(\lambda\) 讓不動點迭代變乖巧的技巧。
5. 精確度:務必通過檢查邊界的符號變號來驗證你的最終答案。