Learning Objectives
- 寫出函數在一點的線性近似,並用它估算數值
- 區分微分 dy 與真正的變化量 Δy,說明誤差和二階導數的關係
- 從切線推出牛頓法的公式
- 指出牛頓法可能失敗的情況,並和二分法比較收斂速度
可微分函數的局部線性
在沒有計算機的情況下估算 $\sqrt{4.1}$:已知 $\sqrt{4} = 2$,而 4.1 接近 4,所以答案略大於 2,差距需要進一步估計。
微分提供了一種方法:可微分的函數在一點附近放大後,幾乎是一條直線,此直線即為切線。直線的值容易計算,因此可以用切線代替曲線。
下圖將 $f(x) = \sqrt{x}$ 在 $x = 4$ 附近放大。藍色是曲線,青色虛線是切線。
線性近似、微分與誤差
切線方程式即為近似公式。函數在 $x = a$ 可微分時,
$$f(x) \approx L(x) = f(a) + f'(a)(x-a)$$
$L$ 稱為 $f$ 在 $a$ 的線性近似(linear approximation)。以 $f(x) = \sqrt{x}$、$a = 4$ 為例,$f(4) = 2$,$f'(4) = \frac{1}{2\sqrt{4}} = \frac{1}{4}$,所以
$$\sqrt{4.1} \approx 2 + \frac{1}{4}(0.1) = 2.025$$
計算機給出的值是 $2.0248457\ldots$,差距約 $0.00015$。
$dy$ 和 $\Delta y$ 是兩個不同的量。 自變數改變 $\Delta x$(也寫成 $dx$)時:
- $\Delta y = f(a + \Delta x) - f(a)$ 是曲線的實際變化
- $dy = f'(a)\,dx$ 是沿著切線的變化,稱為微分(differential)
此處 $dy$ 和 $dx$ 都是實際的數值,在此定義下 $\frac{dy}{dx}$ 才能視為兩者的比值。上面的例子中 $dy = 0.025$,$\Delta y = 0.0248457\ldots$。
誤差的大小。 若 $f''$ 在 $a$ 與 $x$ 之間連續,由泰勒定理,存在某個 $\xi$ 介於 $a$ 和 $x$ 之間,使得
$$f(x) - L(x) = \frac{f''(\xi)}{2}(x-a)^2$$
由此可得三個結論:
- 誤差和 $(x-a)^2$ 成正比($\xi$ 靠近 $a$ 時比例幾乎不變)。距離減半時,誤差約變為四分之一,所以小工具表格最右欄幾乎是定值,約為 $\frac{f''(a)}{2}$。
- $\lvert f'' \rvert$ 越大,曲線彎曲程度越大,近似越差。直線的 $f'' = 0$,近似完全準確。
- 誤差的正負取決於 $f''$:$f'' < 0$ 時曲線向下彎,切線在曲線上方,線性近似高估;$f'' > 0$ 則低估。
應用於 $\sqrt{x}$:$f''(4) = -\frac{1}{4} \cdot 4^{-3/2} = -\frac{1}{32}$,估計的誤差為 $-\frac{1}{64}(0.1)^2 \approx -0.000156$,與實際的 $-0.000154$ 非常接近,負號也表示 2.025 是高估。
測量誤差可用相同方式估計。 以尺測得球的半徑為 10 公分,誤差可能達 0.1 公分。體積 $V = \frac{4}{3}\pi r^3$ 的誤差約 $dV = 4\pi r^2\,dr = 4\pi \cdot 100 \cdot 0.1 = 40\pi \approx 125.7$ 立方公分(實際的 $\Delta V$ 約 126.9)。
牛頓法
切線也可用於解方程式。設 $f(x) = 0$ 沒有公式解。切線的零點容易計算,因此先猜測一個 $x_0$,計算切線與 $x$ 軸的交點,作為改進後的猜測值。
在 $x_n$ 的切線是 $y = f(x_n) + f'(x_n)(x - x_n)$。令 $y = 0$ 解 $x$(需要 $f'(x_n) \neq 0$,切線才碰得到 $x$ 軸):
$$x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}$$
此即牛頓法(Newton's method,也稱牛頓-拉弗森法)。牛頓在 1669 年的手稿裡已有這個想法,但只用在多項式上,也沒有寫成導數的形式;拉弗森(Raphson)1690 年發表了較簡化的版本,辛普森(Simpson)1740 年才寫成適用一般非線性方程式的微積分形式。
以 $f(x) = x^2 - 2$ 為例,解為 $\sqrt{2}$。公式變成 $x_{n+1} = x_n - \frac{x_n^2-2}{2x_n}$。從 $x_0 = 1$ 開始,第一步是 $1 - \frac{-1}{2} = 1.5$。以下由程式執行,並與二分法比較。
動畫:牛頓法與二分法的收斂速度
此程式先執行牛頓法 5 步,再執行二分法 20 步(每 5 步印一次)。閱讀時不需要程式背景,請觀察輸出中牛頓法每一步的誤差,以及二分法的區間寬度。
牛頓法的二次收斂
從輸出可以看到,牛頓法的誤差依序是 $0.0858$、$0.00245$、$2.1 \times 10^{-6}$、$1.6 \times 10^{-12}$,第 5 步在浮點數精度內已經是 0。每一步正確的位數大約加倍,稱為二次收斂:新的誤差大約和舊誤差的平方成正比。
原因在於前述的誤差公式。切線的誤差和距離的平方成正比,所以離根 $\varepsilon$ 時,下一步大約只差 $\varepsilon^2$ 的量級。
下列條件可以保證二次收斂:$f'$ 在根 $r$ 不是 0,$f''$ 在根附近連續,而且起點離根夠近。
二分法每一步區間寬度減半,20 步才達到 $9.5 \times 10^{-7}$。二分法收斂較慢,但只要 $f$ 連續、兩端變號,就保證找到根;牛頓法收斂較快,卻沒有這項保證。
牛頓法失敗的四種情況
二次收斂的條件只要有一個不成立,就可能失敗。以下數字都可以在小工具中重現。
| 情況 | 例子 | 結果 |
|---|---|---|
| 切線水平 | $x^2 - 2$,$x_0 = 0$ | $f'(0) = 0$,切線與 $x$ 軸不相交,公式除以 0 |
| 振盪 | $x^3 - 2x + 2$,$x_0 = 0$ | $0 \to 1 \to 0 \to 1 \ldots$,無法到達 $-1.769$ 附近的根 |
| 發散 | $\arctan x$,$x_0 = 2$ | $2 \to -3.54 \to 13.95 \to -279.3 \ldots$,距離持續增大。起點的絕對值超過約 1.3917 時皆如此 |
| 導數在根趨向無窮大 | $x^{1/3}$,任何 $x_0 \neq 0$ | 公式化簡成 $x_{n+1} = -2x_n$,每一步離根更遠 |
另一種情況不算失敗,但結果可能不符預期:收斂到別的根。切線接近水平時,下一步會落在很遠的位置,例如 $x^3 - x$ 從 $x_0 = 0.5$ 出發,一步即到 $-1$,而不是較近的 $0$ 或 $1$。
若根是重根($f'(r) = 0$,例如 $x^2 = 0$ 的 $r = 0$),起點夠近時牛頓法仍會收斂,但只是線性收斂:二重根的誤差每一步減半,三重根每一步變成 $\frac{2}{3}$,失去二次收斂。
實務上常採混合作法:先以二分法將範圍縮小到根的附近,再改用牛頓法。
重點整理
- 線性近似:$f(x) \approx f(a) + f'(a)(x-a)$,即用切線代替曲線
- $dy = f'(a)\,dx$ 沿切線,$\Delta y$ 沿曲線;差距約 $\frac{f''(a)}{2}(\Delta x)^2$,$f'' < 0$ 時高估
- 牛頓法:$x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}$,條件成立時二次收斂,遠快於二分法
- 牛頓法沒有收斂保證:切線水平、振盪、發散都會發生,二分法則慢而穩
下一課討論函數的形狀:以一階、二階導數判斷升降、極值與凹凸。
小測驗
用 $\sqrt{x}$ 在 $a = 9$ 的線性近似估算 $\sqrt{9.2}$,結果是?
$f(x) = x^2$ 在 $a = 1$ 的切線用來估算 $f(1.1)$,結果為何?
線性近似在 $\Delta x = 0.2$ 的誤差是 $E$。$\Delta x$ 改成 $0.1$,誤差大約是?
解 $x^2 - 2 = 0$,從 $x_0 = 2$ 開始迭代一步牛頓法,$x_1$ 是?
牛頓法解 $x^3 - 2x + 2 = 0$,從 $x_0 = 0$ 開始,結果為何?
對 $f(x) = x^{1/3}$ 用牛頓法,從任何 $x_0 \neq 0$ 開始都不收斂,原因是?