∫π每天一道数学题
← 返回数学分析
数学分析 · 第 10 讲 · 2026-10-06 · 约 16 分钟

第10讲 泰勒公式——用一个多项式抓住一个函数

高中背过 eˣ≈1+x、sin x≈x,但从没解释过这些近似从哪来、误差多大、什么时候能用。泰勒公式一次讲完:为什么是多项式、系数为什么是导数、余项有几种形式、以及它怎么统一第四讲的等价无穷小和第九讲的洛必达。这是微分学的高潮。

你在高中学过这些:

ex≈1+x,sin⁡x≈x,ln⁡(1+x)≈xe^x \approx 1 + x,\qquad \sin x \approx x,\qquad \ln(1+x) \approx x

老师说"这是近似公式,xx 很小的时候用"。你也就背下来了。

但三个问题没人回答:它们从哪来?误差多大?凭什么在 xx 小的时候能用?

泰勒公式一次回答这三个。它是整个微分学的高潮——前面九讲所有的东西(极限、连续、导数、中值定理)都是为它做准备。

从一个笨问题开始

能不能用一个多项式代替任意函数?

为什么是多项式?因为多项式是人类唯一能"精确计算"的函数——加减乘除,有限次,不会出错。而 sin⁡x\sin x、exe^x 这些,离开了计算器你一个都算不出来。

如果能用一个多项式抓住它们,一切都能算。这是泰勒公式的动机,非常实用主义。

从最简单的开始。一次多项式 P(x)=c0+c1xP(x) = c_0 + c_1 x,要在 x=0x = 0 附近代替 f(x)f(x),该选什么系数?

自然的想法:让 PP 和 ff 在 0 点"尽可能像"。

  • 函数值相等:P(0)=c0=f(0)P(0) = c_0 = f(0) → 定出 c0c_0
  • 一阶导数相等:P′(0)=c1=f′(0)P'(0) = c_1 = f'(0) → 定出 c1c_1

得到 P(x)=f(0)+f′(0)xP(x) = f(0) + f'(0)x。这就是线性近似,也就是第六讲的微分。

但这只保证 0 点附近"一阶相同"。想更准,就加二次项,同时要求二阶导数也相等:

P(x)=c0+c1x+c2x2,P′′(0)=2c2=f′′(0)P(x) = c_0 + c_1x + c_2x^2,\quad P''(0) = 2c_2 = f''(0)

定出 c2=f′′(0)2c_2 = \dfrac{f''(0)}{2}。

继续往下,要求三阶、四阶……直到 nn 阶导数全部相等。你会得到一个固定的模式:

ck=f(k)(0)k!c_k = \frac{f^{(k)}(0)}{k!}

系数是导数除以阶乘。 这就是泰勒公式的系数来源——不是谁的发明,是"让多项式在一点的所有阶导数都和原函数相同"这个要求逼出来的。

泰勒公式的两种形式

带佩亚诺余项(局部形式)

f(x)=∑k=0nf(k)(0)k!xk+o(xn)f(x) = \sum_{k=0}^{n}\frac{f^{(k)}(0)}{k!}x^k + o(x^n)

这是"在 0 点附近"的展开,余项是 o(xn)o(x^n)——只知道误差比 xnx^n 高阶,不知道具体多大。

它的用途是算极限(第四讲的 sin⁡x∼x\sin x \sim x 就是它的第一项),不需要知道误差具体多少,只要知道阶数。

带拉格朗日余项(整体形式)

f(x)=∑k=0nf(k)(0)k!xk+f(n+1)(ξ)(n+1)!xn+1,ξ∈(0,x)f(x) = \sum_{k=0}^{n}\frac{f^{(k)}(0)}{k!}x^k + \frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1},\qquad \xi \in (0,x)

这个余项给出了误差的显式表达式:某阶导数在某个中间点的值,除以阶乘,乘 xn+1x^{n+1}。

它的用途是估计误差、证明不等式——因为你能具体算出误差上界。

两者的区别是:佩亚诺告诉你"误差是高阶的",拉格朗日告诉你"误差具体是多少量级"。算极限用前者,估误差用后者。

展开是怎么推出来的

只推一次,但推清楚。用柯西中值定理(第八讲见过它)。

构造辅助函数(这是关键技巧,跟中值定理一样):

G(t)=f(x)−[f(t)+f′(t)(x−t)+f′′(t)2!(x−t)2+⋯+f(n)(t)n!(x−t)n]G(t) = f(x) - \left[f(t) + f'(t)(x-t) + \frac{f''(t)}{2!}(x-t)^2 + \cdots + \frac{f^{(n)}(t)}{n!}(x-t)^n\right]

它衡量"用 ff 在 tt 点的 nn 阶泰勒多项式逼近 f(x)f(x)"的误差。同时定义

H(t)=(x−t)n+1H(t) = (x-t)^{n+1}

现在对 ff 和 HH 在区间 [0,x][0, x] 上反复用柯西中值定理。每次用都会消掉一阶导数,最后得到:

G(0)=G(n)(0)H(n)(0)⋅H(0)+⋯G(0) = \frac{G^{(n)}(0)}{H^{(n)}(0)}\cdot H(0) + \cdots

一路化下去,最终:

f(x)=∑k=0nf(k)(0)k!xk+f(n+1)(ξ)(n+1)!xn+1f(x) = \sum_{k=0}^{n}\frac{f^{(k)}(0)}{k!}x^k + \frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1}

证明的核心思想:把"误差"构造成一个函数,然后用中值定理反复销项。 这个手法在中值定理那一讲见过——辅助函数、化归。

你不用会证,但要知道这不是巧合,是前面所有工具的一次集中调用。

四个最基本的展开

先把最常用的四个写出来,配图比较精度。

exe^x:系数最简单

ex=1+x+x22!+x33!+x44!+⋯e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{x^4}{4!} + \cdots

每一阶导数都是 exe^x,在 0 点都是 1,所以系数全是 1k!\dfrac{1}{k!}。这是最好记的一个。

sin⁡x\sin x:只有奇次项

sin⁡x=x−x33!+x55!−x77!+⋯\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots

只有奇次幂,且符号交替。为什么?因为 sin⁡x\sin x 是奇函数——奇函数只含奇次项。

cos⁡x\cos x:只有偶次项

cos⁡x=1−x22!+x44!−x66!+⋯\cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + \cdots

同理,偶函数只含偶次项。

ln⁡(1+x)\ln(1+x):收敛慢

ln⁡(1+x)=x−x22+x33−x44+⋯(−1<x≤1)\ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \cdots \qquad (-1 < x \le 1)

系数是 (−1)k+1k\dfrac{(-1)^{k+1}}{k}。注意它比前三个收敛慢得多——没有阶乘在分母,这是它的软肋。

四个基本函数的泰勒逼近(n 阶)

同一个函数,展开阶数越高,多项式越贴紧原函数;eˣ 收敛最快,ln(1+x) 最慢

一个应用:为什么 xx 小的时候近似才有效

现在能回答开头的问题了。

取 sin⁡x\sin x 的一阶和二阶(其实只有一阶):

sin⁡x=x+o(x)\sin x = x + o(x)

这个式子说的是:xx 足够小时,x3x^3 项可以忽略。

但"足够小"是多小?拉格朗日余项给出答案:

sin⁡x=x+sin⁡′ξ3!x3=x+−cos⁡ξ6x3,∣ξ∣<∣x∣\sin x = x + \frac{\sin'\xi}{3!}x^3 = x + \frac{-\cos\xi}{6}x^3,\qquad |\xi| < |x|

误差上界是 x36\dfrac{x^3}{6}。

x=0.1x = 0.1:误差上界 0.0016≈1.7×10−4\dfrac{0.001}{6} \approx 1.7\times 10^{-4}。真值 sin⁡0.1=0.0998334\sin 0.1 = 0.0998334,一阶近似是 0.1,实际误差 1.67×10−41.67\times 10^{-4}。吻合。

x=1x = 1:误差上界 16≈0.167\dfrac{1}{6} \approx 0.167。真值 sin⁡1=0.8415\sin 1 = 0.8415,一阶近似是 1,误差 0.159。这时候一阶近似已经很糟了。

所以"xx 很小的时候才能用"的精确含义是:误差上界 ∣x∣n+1(n+1)!\dfrac{|x|^{n+1}}{(n+1)!} 小于你能容忍的范围。 不是玄学,是可计算的。

第二个应用:统一第四讲

第四讲费了半天劲讲的"等价无穷小"和"展开到第几项",泰勒公式一句话收编。

sin⁡x=x−x36+o(x3)\sin x = x - \dfrac{x^3}{6} + o(x^3) 的第一项是 xx,所以 sin⁡x∼x\sin x \sim x。

sin⁡x=x−x36+⋯\sin x = x - \dfrac{x^3}{6} + \cdots 的前两项相减:x−sin⁡x=x36+o(x3)x - \sin x = \dfrac{x^3}{6} + o(x^3),所以 x−sin⁡x∼x36x - \sin x \sim \dfrac{x^3}{6}。

所有等价无穷小都是泰勒展开降维使用的产物。 你记不住那串等价关系的时候,回到泰勒展开自己截。

第三个应用:统一第九讲

洛必达能做的,泰勒基本都能做,而且常常更快。

lim⁡x→0ln⁡(1+x)−xx2\lim_{x\to 0}\frac{\ln(1+x) - x}{x^2}

洛必达要两次。泰勒公式一次:

ln⁡(1+x)=x−x22+o(x2)\ln(1+x) = x - \frac{x^2}{2} + o(x^2) ln⁡(1+x)−x=−x22+o(x2)  ⟹  lim⁡=−12\ln(1+x) - x = -\frac{x^2}{2} + o(x^2) \implies \lim = -\frac{1}{2}

展开、代入、看第一个不为零的项。三步,不用求导。

讲给学生听时,讲什么

第一,讲清动机。 为什么要用多项式代替函数——因为多项式是唯一能精确计算的东西。这句话一讲,泰勒公式从"背公式"变成"解决真问题"。

第二,系数不是背的,是推的。 "让所有阶导数相等"这个要求一说,f(k)(0)k!\dfrac{f^{(k)}(0)}{k!} 立刻合理。而且 exe^x、sin⁡x\sin x、cos⁡x\cos x 的区别(阶乘 vs 符号交替 vs 奇偶)全部从函数性质自然流出。

第三,两种余项分开用。 算极限用佩亚诺,估误差用拉格朗日。混用会出问题。

第四,它是前面所有内容的汇合点。 极限、连续、导数、中值定理,全在这。学到这里应该回头看一眼——你会发现数学分析的地基篇到这里封顶了。

思考与拓展

  1. 写出 f(x)=11−xf(x) = \dfrac{1}{1-x} 在 0 点的泰勒展开,并说明它和等比数列求和公式的关系。
  2. 用泰勒公式(拉格朗日余项)证明:当 x>0x > 0 时 ex>1+x+x22e^x > 1 + x + \dfrac{x^2}{2}。
  3. 用泰勒公式计算 lim⁡x→0cos⁡x−1x2\lim\limits_{x\to 0}\dfrac{\cos x - 1}{x^2},并解释为什么这里用一阶展开会失败。
  4. 估算 sin⁡(0.5)\sin(0.5) 用三阶泰勒的值,并和真值比较;再用拉格朗日余项算出误差上界。
  5. 为什么 ln⁡(1+x)\ln(1+x) 的展开收敛比 exe^x 慢?从系数结构上解释。

一句话总结

泰勒公式的系数不是谁定的,是"让多项式在一点的所有阶导数都和原函数相同"逼出来的;算极限用佩亚诺余项,估误差用拉格朗日余项——它是微分学所有工具的一次汇合。

附:本文涉及的史实出处

  • 泰勒公式:Brook Taylor 1715 年发表;拉格朗日余项(1797)、柯西余项、积分余项均为后世的严格化
  • 佩亚诺余项:Peano,19 世纪末,专用于局部极限计算
  • sin⁡x\sin x、cos⁡x\cos x、exe^x、ln⁡(1+x)\ln(1+x) 的展开式:标准结果,本文数值验证
  • 泰勒公式证明依赖柯西中值定理(见第八讲)
— Y. · 2026-10-06