泰勒公式

                     

贡献者: addis

定理 1 泰勒公式

   设函数 $f(x)$ 在 $x_0$ 处有 $n(n\ge 1)$ 阶导数,则有

\begin{equation} \begin{aligned} f(x)=&f(x_0)+\frac{f'(x_0)}{1!}(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+\cdots\\ &+\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n+ \mathcal{O}\left((x-x_0)^n \right) ~, \end{aligned} \end{equation}
最后一项 $ \mathcal{O}\left((x-x_0)^n \right) $ 也被称为皮亚诺余项(Peano form of the remainder)。如果取 $x_0=0$,那么这个展开式被称为麦克劳林级数(Maclaurin formula)

定理 2 $n$ 阶近似公式的唯一性

   设函数 $f(x)$ 在 $x_0$ 处有 $n$($n\ge 1$)阶导数,设 $f(x)$ 在 $x_0$ 的邻域内有以下 $n$ 阶近似公式成立:

\begin{equation} \begin{aligned} f(x)=a_0+a_1(x-x_0)+a_2(x-x_0)^2+\cdots+a_n(x-x_0)^n+ \mathcal{O}\left((x-x_0)^n \right) ~, \end{aligned} \end{equation}
那么系数 $a_i$($0\le i\le n$)存在唯一确定
\begin{equation} a_i=\frac{f^{(i)}(x)}{i!}~, \end{equation}
这表明了 $f(x)$ 的 $n$ 阶近似公式的唯一性。

   利用这个结论,我们可以在计算泰勒展开公式时自信地代入近似公式,而不是循规蹈矩地一步步求导。以 $e^{\sin x}$ 为例,如果在 $x=0$ 附近求泰勒展开,我们可以先将指数 $\sin x$ 写成近似公式:

\begin{equation} u=\sin x=x-\frac{x^3}{3!}+ \mathcal{O}\left(x^4 \right) ~. \end{equation}
再将上式代入 $e^u=1+u+u^2/2+u^3/6+u^4/24+ \mathcal{O}\left(u^3 \right) $ 中,即可得到
\begin{equation} \begin{aligned} e^{\sin x}&=1+(x-\frac{x^3}{3!})+(x^2/2-x^4/6)+x^3/6+x^4/24+ \mathcal{O}\left(x^3 \right) \\&=1+x+x^2/2-x^4/8+ \mathcal{O}\left(x^3 \right) ~. \end{aligned} \end{equation}
利用这个结论,我们可以轻松地写出 $ \sin\left(2x\right) , \cos\left(x^2\right) ,e^{3x^3}$ 或类似形式的函数的泰勒展开式。下面我们举一个复杂的例子:

习题 1 

   计算 $f(x)=x\cot x$($x\neq 0$),$f(0)=0$ 在 $x_0=0$ 附近的泰勒展开公式(展开到 $x^5$ 项)。

   提示:我们已经知道 $\sin x=x-x^3/3!+x^5/5!+ \mathcal{O}\left(x^6 \right) $,$\cos x=1-x^2/2+x^4/4!-x^6/6! \mathcal{O}\left(x^6 \right) $。要求 $x\cot x=x\cos x/\sin x$($0$ 是该函数的可去间断点)的 $5$ 阶近似公式,可以利用待定系数法。设 $x\cot x=a_0+a_1 x+a_2 x^2+\cdots+ a_5 x^5 + \mathcal{O}\left(x^5 \right) $。根据 定理 2 ,系数 $a_0,a_1,\cdots$ 是唯一确定的,求得的这个近似公式就是 $x\cot x$ 的泰勒展开式。我们只需要求出这些系数。

   由于 $x\cot x=x\cos x/\sin x=a_0+a_1 x+\cdots a_5 x^5+ \mathcal{O}\left(x^5 \right) $,所以

\begin{equation} \begin{aligned} x\cos x&=(a_0+a_1 x+\cdots a_5 x^5+ \mathcal{O}\left(x^5 \right) )\sin x~,\\ x(1-x^2/2+x^4/4!-x^6/6!+ \mathcal{O}\left(x^6 \right) )&=(a_0+a_1 x+\cdots a_5 x^5+ \mathcal{O}\left(x^5 \right) )\\ &\times (x-x^3/3!+x^5/5!+ \mathcal{O}\left(x^6 \right) )~. \end{aligned} \end{equation}
接下来化简上述方程,逐项比较解得 $a_0,\cdots,a_5$ 即可。待定系数法可以帮助我们大大减小求导的运算量。1

   利用柯西微分中值定理,可以推出带拉格朗日余项(Lagrange form of the remainder)的泰勒展开公式,从而给出了泰勒展开近似式误差项的一个定量描述:

定理 3 带拉格朗日余项的泰勒公式

   设函数 $f(x)\in C^n[a,b]$2 在 $(a,b)$ 内存在 $n+1$ 阶导数,则对任意 $x,x_0\in [a,b]$,总是存在 $\xi\in (x,x_0)$,使得下式成立

\begin{equation} \begin{aligned} f(x)=&f(x_0)+\frac{f'(x_0)}{1!}(x-x_0)+\frac{f'(x_0)}{2!}(x-x_0)^2+\cdots\\ &+\frac{f^{(n)}(x)}{n!}(x-x_0)^n+\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{(n+1)}~, \end{aligned} \end{equation}
其中 $\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1}$ 被称为拉格朗日余项。有时也将 $\xi$ 用 $x_0+\theta(x-x_0)$ 来表示。

   由于拉格朗日余项有分母 $(n+1)!$,随着 $n$ 的增加快速增大,所以通常情况下,用泰勒公式逼近时误差随 $n$ 的增加而减小(我们需要考察 $f^{(n+1)}(\xi)$ 的大小来判断误差的收敛速度)。以 $e^x$ 的泰勒展开式为例:

\begin{equation} e^x=1+x+\frac{x^2}{2}+\cdots+\frac{x^n}{n!}+\frac{e^{\theta x}}{(n+1)!}x^{n+1}~. \end{equation}
从上式我们可以看出,$e^x$ 的泰勒展开式的拉格朗日余项的绝对值不会超过 $\frac{\max\{1,e^x\}}{(n+1)!}$。这说明随着 $n$ 的增大,泰勒公式的前 $n$ 项和逐渐逼近 $e^x$。这个结论用皮亚诺余项定理 1 是无法得到的3

   需要记忆的泰勒展开公式有:

\begin{equation} \begin{aligned} &e^x=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots+\frac{x^n}{n!}+ \mathcal{O}\left(x^n \right) ~,\\ &\frac{1}{1+x}=1-x+x^2-x^3+\cdots+(-1)^nx^n+ \mathcal{O}\left(x^n \right) ~,\\ &\sin x=x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\cdots+(-1)^n\frac{x^{2n+1}}{(2n+1)!}+ \mathcal{O}\left(x^{2n+1} \right) ~,\\ &\cos x=1-\frac{x^2}{2!}+\frac{x^4}{4!}-\frac{x^6}{6!}+\cdots+(-1)^n\frac{x^{2n}}{(2n)!}+ \mathcal{O}\left(x^{2n} \right) ~,\\ & \ln\left(1+x\right) =x-\frac{x^2}{2}+\frac{x^3}{3}-\frac{x^4}{4}+\cdots+(-1)^{n+1}\frac{x^n}{n}+ \mathcal{O}\left(x^n \right) ~.\\ \end{aligned} \end{equation}
现在,如果我们将 $e^{ix}$ 用第一个公式展开,可以得到
\begin{equation} \begin{aligned} e^{ix}=1+ix-\frac{x^2}{2!}-i\frac{x^3}{3!}+\frac{x^4}{4!}+i\frac{x^5}{5!}-\frac{x^6}{6!}-i\frac{x^7}{7!}+\cdots\\ =(1-\frac{x^2}{2!}+\frac{x^4}{4!}-\frac{x^6}{6!}+\cdots)+i(x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\cdots)~. \end{aligned} \end{equation}
再由欧拉公式 $e^{ix}=\cos x+i\sin x$,比较实部和虚部,恰好可以得出 $\cos x,\sin x$ 的展开式,与式 9 完全相同。注意这里的推导还没有被严格化,将 $e^{ix}$ 已经超出实函数的范围,相关的定义和定理需要进行考量4。 对 $ \ln\left(1+x\right) $ 泰勒展开也有一个不严谨的小技巧。注意到它的导函数为 $\frac{1}{1+x}$,可以尝试对 $\frac{1}{1+x}$ 的泰勒展开式进行积分。
\begin{equation} \begin{aligned} \frac{1}{1+x}&=\sum_{i=0}^{\infty} (-1)^i x^i~,\\ \ln\left(1+x\right) &=\int_0^x \frac{1}{1+t} \,\mathrm{d}{t} = \int_0^x \sum_{i=0}^{\infty} (-1)^i x^i \,\mathrm{d}{t} \\ &= \sum_{i=0}^{\infty} \int_0^x(-1)^i x^i \,\mathrm{d}{t} = \sum_{i=0}^{\infty} \frac{(-1)^i x^{i+1}}{i+1}\\ &= \sum_{i=1}^{\infty} \frac{(-1)^{i+1} x^{i}}{i}~. \end{aligned} \end{equation}
这种推导方法可以帮助你记忆公式。如果想让这个证明严谨化,就需要利用级数相关定理,要注意级数的收敛域,还需要判断上式中 $\int_0^{\infty}$ 和 $\sum_{i=0}^{\infty}$(这实际上是序列极限 $\lim\limits_{n\rightarrow \infty} \sum_{i=0}^{n}$ 的一种简写)在什么情况下可交换。 下面我们用这种方法再算一个例子。

习题 2 

   计算 $\frac{x}{\sqrt{1+x^2}}$ 在 $x_0=0$ 处的泰勒展开,展开到 $x^7$ 项。

   提示:$\frac{x}{\sqrt{1+x^2}}$ 可以写作 $\sqrt{1+x^2}$ 的导函数。那么只需要对 $\sqrt{1+x^2}$ 的泰勒展开式逐项求导即可。注意到 $\sqrt{1+x}=1+\frac{x}{2}-\frac{x^2}{8}+\frac{x^3}{16}-\frac{5x^4}{128}+ \mathcal{O}\left(x^4 \right) $,于是有

\begin{equation} \begin{aligned} \sqrt{1+x^2}=1+\frac{x^2}{2}-\frac{x^4}{8}+\frac{x^6}{16}-\frac{5x^8}{128}+ \mathcal{O}\left(x^8 \right) ~,\\ \frac{x}{\sqrt{1+x^2}}=x-\frac{x^3}{2}+\frac{3x^5}{8}-\frac{5x^7}{16}+ \mathcal{O}\left(x^7 \right) ~. \end{aligned} \end{equation}

   上面我们用到了 $\sqrt{1+x}$ 的泰勒展开公式,它可以通过暴力求导计算得到:

\begin{equation} \begin{aligned} \sqrt{1+x}&=1+\sum_{i=1}^n\frac{(-1)^{i+1} \cdot \frac{1}{2}\cdot \frac{3}{2}\cdots (i-\frac{3}{2})}{2i!}x^i + \mathcal{O}\left(x^n \right) \\ &=1+\sum_{i=1}^n\frac{\Gamma(3/2)}{\Gamma(i+1)\Gamma(-i+3/2)}x^i + \mathcal{O}\left(x^n \right) ~, \end{aligned} \end{equation}
上式中 $\Gamma$ 为广义阶乘函数,当 $n$ 为整数时 $\Gamma(n+1)=n!$。更具有启发意义地,我们可以将上面的结果写成以下形式
\begin{equation} (1+x)^{1/2}=\sum_{i=0}^{\infty}{1/2\choose i}x^i~, \end{equation}
其中 ${1/2\choose i}$ 为广义组合数。这个公式可以推广为以下结果:
\begin{equation} (1+x)^{a}=\sum_{i=0}^{\infty}{a\choose i}x^i=\sum_{i=0}^{\infty}\frac{\Gamma(a+1)}{\Gamma(i+1)\Gamma(-i+a+1)}x^i~. \end{equation}

1. 推导

   如果假设函数 $f$ 在开区间 $(x_0-r,x_0+r)$ 上直到 $N+1$ 次可微,那么可以利用分部积分公式

\begin{equation} \begin{aligned} f(x) &=f(x_0)+\int_{x_0}^{x}f'(t) \,\mathrm{d}{t} \\ &=f(x_0)-\int_{x_0}^{x}f'(t) \frac{\mathrm{d}}{\mathrm{d}{t}} (x-t) \,\mathrm{d}{t} \\ &=f(x_0)+f'(x_0)(x-x_0)+\int_{x_0}^{x}f''(t)(x-t) \,\mathrm{d}{t} ~. \end{aligned} \end{equation}
由于 $(x-t)=- \frac{\mathrm{d}}{\mathrm{d}{t}} (x-t)^2/2!$, 故可以再次分部积分,得到
\begin{equation} \begin{aligned} f(x) =f(x_0)+f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2 +\frac{1}{2!}\int_{x_0}^{x}f^{(3)}(t)(x-t)^2dt~. \end{aligned} \end{equation}
如此续行,即得到
\begin{equation} \begin{aligned} f(x) &=f(x_0)+f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+...+\frac{f^{(N)}(x_0)}{N!}(x-x_0)^N\\ &\quad+\frac{1}{N!}\int_{x_0}^{x}f^{(N+1)}(t)(x-t)^{N} \,\mathrm{d}{t} ~. \end{aligned} \end{equation}
最后的误差可利用定积分估值估计为
\begin{equation} \left|\frac{1}{N!}\int_{x_0}^{x}f^{(N+1)}(t)(x-t)^{N} \,\mathrm{d}{t} \right| \leq\frac{\sup_{t\in I}|f^{(N+1)}(t)|}{N!}|x-x_0|^{N+1}~. \end{equation}
显然,这就给出了唯一一个满足开头要求的多项式近似。


1. ^ $\cot x$ 的洛朗展开式的各项系数可以用伯努利数表示。
2. ^ $f\in C^n[a,b]$ 表示函数 $f(x)$ 在闭区间 $[a,b]$ 上有 $n$ 阶连续导数。
3. ^ 皮亚诺余项 $ \mathcal{O}\left((x-x_0)^n \right) $ 意味着当 $x$ 趋向于 $x_0$ 时泰勒公式将是很好的近似,但当 $x$ 远离 $x_0$ 时,就难以判断了。
4. ^数学物理方法复变函数课中你将会系统地学习这些内容。


致读者: 小时百科一直以来坚持所有内容免费,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损, 并保证在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利