JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

泰勒級數:把函數當作無窮多項式

計算器是怎麼算出 sin(0.7) 或 e^0.3 的?它並不「知道」這些值——它是把一個多項式加起來。[[taylor-series|泰勒級數]]用一個光滑[[function-calculus|函數]]自身的[[derivative-calculus|導數]],在某一點附近把它重建出來,把 e^x、sin、cos 這樣的曲線變成 x 各次冪的無窮和。這是把[[linear-approximation|線性逼近]]推到極致:多留幾項,就多一分精度。

從切線到「切多項式」

在上一階你見過線性逼近:在一點附近,一條光滑曲線能被它的切線 L(x) = f(a) + f'(a)(x - a) 很好地貼合。這條線在 x = a 處與 f 有兩點一致——相同的高度和相同的斜率。但直線不會彎,所以一離開就會偏掉。補救辦法很自然:再加一項,讓它也匹配曲線的彎曲,然後再加一項管彎曲怎麼變,依此類推。每加一項,就多強制一階導數一致。結果是一個越來越緊貼曲線的多項式

寫出來,f 在點 a 附近的泰勒級數是 f(x) = f(a) + f'(a)(x - a) + f''(a)/2! (x - a)^2 + f'''(a)/3! (x - a)^3 + ... 。第 n 項用的是 f 在 a 處的 n 階導數,除以 n!(n 的階乘:2! = 2,3! = 6,4! = 24)。注意前兩項恰好就是切線——線性逼近不過是一條提前打住的泰勒級數。

一階一階地搭出 e^x

最乾淨的例子是 e^x,因為它是自己的導數:e^x 的每一階導數還是 e^x,而在 x = 0 處每一階都等於 1。把這些 1 代進公式,分母裡就只剩下階乘了。這同時也是一條冪級數——一個關於 x 各次冪的無窮多項式——而它恰好對每一個實數 x 都收斂到 e^x。

e^x = 1 + x + x^2/2! + x^3/3! + x^4/4! + ...

Try x = 1 (this should approach e ~ 2.71828):
  1                      = 1
  + 1                    = 2
  + 1/2                  = 2.5
  + 1/6                  = 2.6667
  + 1/24                 = 2.7083
  + 1/120                = 2.7167
  + 1/720                = 2.71806
  ... partial sums climb toward 2.71828
每一行是一個部分和。隨著你不斷加項,累計總和逐步逼近 e——這就是「級數收斂到 e」的含義。

注意這裡的引擎和前幾階是同一個:一條無窮級數收斂,當且僅當它的部分和趨於一個有限的極限。這個多項式從不真正結束;我們說「相等」,意思是這些累計總和能要多接近 e^x 就多接近、並穩定地保持下去。階乘增長得極其凶猛,所以後面的項迅速縮到幾乎為零,總和很快就穩定下來。

正弦、餘弦,以及計算器為何鍾愛它

sin 和 cos 是下一對經典例子。它們的導數按 sin -> cos -> -sin -> -cos -> sin 循環,所以在 x = 0 處取值依次是 0, 1, 0, -1,不斷重複。這些 0 構成的規律恰好刪掉了一半的項:sin 只留奇數次冪,cos 只留偶數次冪,符號正負交替。

sin(x) = x - x^3/3! + x^5/5! - x^7/7! + ...   (odd powers)
cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! + ...   (even powers)

# Estimate sin(0.5) with just three terms:
x = 0.5
x - x^3/6 + x^5/120
  = 0.5 - 0.0208333 + 0.0002604
  = 0.4794271
(true sin(0.5) = 0.4794255...  -> off by ~0.0000016)
僅三項就把 sin(0.5) 算準到小數點後六位——而且只用到乘、加、除,這正是晶片所能做的全部。

這就是你的計算器、以及物理近似背後的秘密。晶片無法直接求 sin 或 e^x——它只會加、減、乘、除。一條截斷的泰勒級數恰恰由這些運算搭成,於是機器加上幾項,一旦下一項比所需精度還小就停下。物理學家反過來用同一招:對小角度,他們直接把 sin(x) 換成 x,或把 cos(x) 換成 1 - x^2/2,把一道難方程變成一道容易的。

它能信到多遠?收斂半徑

這裡有個誠實的提醒。對 e^x、sin、cos,級數處處收斂,但大多數級數只在中心附近一個有限的窗口內才管用。存在一個數 R,叫收斂半徑,使得這條冪級數在 |x - a| < R 時收斂,在 |x - a| > R 時發散。在窗口之內,這個無窮多項式確實等於該函數;在窗口之外,部分和會炸開,公式毫無意義。

一個小例子能說明為什麼窗口會存在。函數 1/(1 - x) 的幾何級數是 1 + x + x^2 + x^3 + ... 。取 x = 0.5,每一項都減半,最終穩定在 2——而 1/(1 - 0.5) 確實等於 2。但取 x = 2:各項 1, 2, 4, 8, ... 爆炸式增長,於是級數發散,儘管 1/(1 - 2) = -1 是個完全正常的數。這裡 R = 1:只有當 |x| < 1 時,公式才等於該函數。