物理 [微积分的那些事]-第二回目:微分学-第十章:泰勒公式与函数逼近
第十章 泰勒公式与函数逼近
10.1 问题的提出:用多项式逼近复杂函数
10.1.1 为什么需要逼近?
在实际问题中,我们经常遇到像 $e^x$、$\ln x$、$\sin x$ 这样的函数,它们虽然形式简单,但直接计算函数值(比如 $e^{0.1}$)并不容易。
核心思想:用多项式 $P_n(x)$ 来近似代替复杂函数 $f(x)$,因为多项式只涉及加减乘除,计算机计算非常快。
10.1.2 线性逼近的回顾(一阶近似)
从微分学我们知道,在 $x = x_0$ 附近:
$$f(x) \approx f(x_0) + f'(x_0)(x - x_0)$$
这是用一次多项式(直线)逼近 $f(x)$,称为线性逼近或一阶泰勒多项式。
例子:$f(x) = e^x$ 在 $x = 0$ 附近,$e^x \approx 1 + x$
- 当 $x = 0.1$ 时,真实值 $e^{0.1} \approx 1.10517$,近似值 $1.1$,误差约 $0.005$
- 当 $x = 0.5$ 时,真实值 $e^{0.5} \approx 1.64872$,近似值 $1.5$,误差约 $0.149$(误差变大)
问题:如何得到更精确的逼近?答案是:用更高次的多项式!
10.1.3 二次逼近的直观理解
如果要求逼近精度更高,可以让多项式在 $x_0$ 处的函数值、一阶导数、二阶导数都相等:
$$P_2(x) = f(x_0) + f'(x_0)(x - x_0) + \frac{f''(x_0)}{2}(x - x_0)^2$$
例子:$f(x) = e^x$ 在 $x = 0$ 处:
- $f(0) = 1$,$f'(0) = 1$,$f''(0) = 1$
- $P_2(x) = 1 + x + \frac{1}{2}x^2$
当 $x = 0.5$ 时,$P_2(0.5) = 1 + 0.5 + 0.125 = 1.625$,真实值 $1.64872$,误差约 $0.024$,比线性逼近的 $0.149$ 好多了!
10.2 泰勒公式
10.2.1 泰勒中值定理(泰勒公式)
定理:若函数 $f(x)$ 在 $x_0$ 处具有 $n$ 阶导数,则存在 $\xi$ 介于 $x$ 与 $x_0$ 之间,使得:
$$f(x) = f(x_0) + f'(x_0)(x - x_0) + \frac{f''(x_0)}{2!}(x - x_0)^2 + \cdots + \frac{f^{(n)}(x_0)}{n!}(x - x_0)^n + R_n(x)$$
其中 拉格朗日余项:
$$R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}(x - x_0)^{n+1}$$
理解:
- 泰勒公式 = 泰勒多项式 + 余项(误差)
- $n$ 越大,多项式次数越高,逼近越精确
- 余项 $R_n(x)$ 给出了用多项式近似 $f(x)$ 的误差大小
10.2.2 麦克劳林公式
当 $x_0 = 0$ 时,泰勒公式变成麦克劳林公式:
$$f(x) = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \cdots + \frac{f^{(n)}(0)}{n!}x^n + \frac{f^{(n+1)}(\xi)}{(n+1)!}x^{n+1}$$
这是最常用的形式。
10.2.3 佩亚诺余项(局部逼近)
如果只关心 $x \to x_0$ 时的局部性质,可以用佩亚诺余项:
$$R_n(x) = o((x - x_0)^n) \quad (x \to x_0)$$
意思是误差比 $(x - x_0)^n$ 更快地趋于 $0$。
此时:$$f(x) = f(x_0) + f'(x_0)(x - x_0) + \cdots + \frac{f^{(n)}(x_0)}{n!}(x - x_0)^n + o((x - x_0)^n)$$
10.3 五个常用函数的麦克劳林公式
10.3.1 $e^x$
$$e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots + \frac{x^n}{n!} + \frac{e^{\xi}}{(n+1)!}x^{n+1}$$
特别地,当 $n \to \infty$ 时,得到幂级数展开(将在级数章节详细介绍)。
10.3.2 $\sin x$
$$\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots + (-1)^{n-1}\frac{x^{2n-1}}{(2n-1)!} + R_{2n}(x)$$
10.3.3 $\cos x$
$$\cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + \cdots + (-1)^n\frac{x^{2n}}{(2n)!} + R_{2n+1}(x)$$
10.3.4 $\ln(1 + x)$($x > -1$)
$$\ln(1 + x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \cdots + (-1)^{n-1}\frac{x^n}{n} + R_n(x)$$
10.3.5 $(1 + x)^\alpha$(二项式展开)
$$(1 + x)^\alpha = 1 + \alpha x + \frac{\alpha(\alpha-1)}{2!}x^2 + \cdots + \frac{\alpha(\alpha-1)\cdots(\alpha-n+1)}{n!}x^n + R_n(x)$$
特例:
- $\alpha = -1$:$\frac{1}{1+x} = 1 - x + x^2 - x^3 + \cdots + (-1)^n x^n + \cdots$
- $\alpha = \frac{1}{2}$:$\sqrt{1+x} = 1 + \frac{1}{2}x - \frac{1}{8}x^2 + \cdots$
10.4 泰勒公式的应用
10.4.1 近似计算与误差估计
例1:用三阶泰勒多项式近似计算 $e^{0.2}$,并估计误差。
解:
- $e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{e^{\xi}}{4!}x^4$,其中 $\xi \in (0, 0.2)$
- $P_3(0.2) = 1 + 0.2 + \frac{0.04}{2} + \frac{0.008}{6} = 1 + 0.2 + 0.02 + 0.001333 = 1.221333$
- 真实值 $e^{0.2} \approx 1.221403$
- 误差 $|R_3| = \left|\frac{e^{\xi}}{24} \times (0.2)^4\right| < \frac{e^{0.2}}{24} \times 0.0016 < \frac{1.23}{24} \times 0.0016 \approx 0.000082$
10.4.2 求极限(泰勒展开法)
例2:求 $\lim_{x \to 0} \frac{\sin x - x}{x^3}$。
解:
- $\sin x = x - \frac{x^3}{3!} + o(x^3)$
- $\sin x - x = -\frac{x^3}{6} + o(x^3)$
- 原式 $= \lim_{x \to 0} \frac{-\frac{x^3}{6} + o(x^3)}{x^3} = -\frac{1}{6}$
对比洛必达法则:泰勒展开更直接,尤其对于复杂表达式。
例3:求 $\lim_{x \to 0} \frac{e^x - 1 - x}{\cos x - 1}$。
解:
- $e^x = 1 + x + \frac{x^2}{2} + o(x^2)$,故 $e^x - 1 - x = \frac{x^2}{2} + o(x^2)$
- $\cos x = 1 - \frac{x^2}{2} + o(x^2)$,故 $\cos x - 1 = -\frac{x^2}{2} + o(x^2)$
- 原式 $= \lim_{x \to 0} \frac{\frac{x^2}{2} + o(x^2)}{-\frac{x^2}{2} + o(x^2)} = \frac{1/2}{-1/2} = -1$
10.4.3 证明不等式
例4:证明当 $x > 0$ 时,$e^x > 1 + x + \frac{x^2}{2}$。
证明:
- 由泰勒公式 $e^x = 1 + x + \frac{x^2}{2} + \frac{e^{\xi}}{6}x^3$,其中 $\xi \in (0, x)$
- 当 $x > 0$ 时,$\frac{e^{\xi}}{6}x^3 > 0$
- 故 $e^x > 1 + x + \frac{x^2}{2}$
10.4.4 高阶导数的计算
例5:设 $f(x) = e^{2x}\sin x$,求 $f^{(n)}(0)$。
解:
- 先写出 $f(x)$ 的麦克劳林展开
- $e^{2x} = \sum_{k=0}^{\infty} \frac{(2x)^k}{k!}$,$\sin x = \sum_{m=0}^{\infty} \frac{(-1)^m x^{2m+1}}{(2m+1)!}$
- 相乘后,$x^n$ 的系数就是 $\frac{f^{(n)}(0)}{n!}$
- 通过比较系数可得 $f^{(n)}(0)$(具体计算略)
10.5 综合例题
例6:写出 $f(x) = \ln(1 + \sin x)$ 的麦克劳林展开到 $x^4$ 项。
解:
- $\sin x = x - \frac{x^3}{6} + o(x^4)$
- 令 $u = \sin x$,则 $\ln(1+u) = u - \frac{u^2}{2} + \frac{u^3}{3} - \frac{u^4}{4} + o(u^4)$
- 逐项代入:
- $u = x - \frac{x^3}{6} + o(x^4)$
- $u^2 = x^2 - \frac{x^4}{3} + o(x^4)$
- $u^3 = x^3 + o(x^4)$
- $u^4 = x^4 + o(x^4)$
- 整理:$$\ln(1+\sin x) = \left(x - \frac{x^3}{6}\right) - \frac{1}{2}\left(x^2 - \frac{x^4}{3}\right) + \frac{1}{3}(x^3) - \frac{1}{4}(x^4) + o(x^4)$$$$= x - \frac{x^2}{2} + \left(-\frac{1}{6} + \frac{1}{3}\right)x^3 + \left(\frac{1}{6} - \frac{1}{4}\right)x^4 + o(x^4)$$$$= x - \frac{x^2}{2} + \frac{x^3}{6} - \frac{x^4}{12} + o(x^4)$$
例7:求极限 $\lim_{x \to 0} \frac{e^x \sin x - x(1+x)}{x^3}$。
解:
- $e^x = 1 + x + \frac{x^2}{2} + \frac{x^3}{6} + o(x^3)$
- $\sin x = x - \frac{x^3}{6} + o(x^4)$
- 相乘:$$e^x \sin x = \left(1 + x + \frac{x^2}{2} + \frac{x^3}{6}\right)\left(x - \frac{x^3}{6}\right) + o(x^4)$$$$= x - \frac{x^3}{6} + x^2 - \frac{x^4}{6} + \frac{x^3}{2} - \frac{x^5}{12} + \frac{x^4}{6} - \frac{x^6}{36} + o(x^4)$$保留到 $x^3$:$$= x + x^2 + \left(-\frac{1}{6} + \frac{1}{2}\right)x^3 + o(x^3) = x + x^2 + \frac{1}{3}x^3 + o(x^3)$$
- 分子:$e^x \sin x - x(1+x) = \left(x + x^2 + \frac{1}{3}x^3\right) - (x + x^2) + o(x^3) = \frac{1}{3}x^3 + o(x^3)$
- 原式 $= \lim_{x \to 0} \frac{\frac{1}{3}x^3 + o(x^3)}{x^3} = \frac{1}{3}$
10.6 常见错误提醒
- 余项阶数不够:展开到 $x^n$ 项时,余项至少是 $o(x^n)$,否则会导致极限计算错误
- 复合函数展开时忽略高阶项:设 $u = g(x)$,展开 $f(u)$ 时,$u$ 的表达式必须展开到足够高的阶数
- 混淆 $x_0$ 的位置:泰勒展开一般是在某个点附近展开,不是所有展开都是 $x_0 = 0$
- 忽略收敛范围:泰勒多项式是局部逼近,离 $x_0$ 越远误差越大;完整的泰勒级数有收敛半径