跳到主要内容

数学:泰勒展开

· 阅读需 5 分钟
lailai
Blogger

泰勒展开是一种用多项式近似函数的方法,在数学分析和计算中都有重要应用。它可以把复杂函数转化为易于计算的多项式,是计算机求值如 sinx\sin xexe^x 等函数的基础。本文将通过例子介绍泰勒展开的原理、推导和常见形式。

参考资料

作用

泰勒公式的核心思想:用一个多项式在某点附近逼近原函数的局部行为。

许多函数 f(x)f(x) 难以直接求值,而多项式计算效率高,形式简洁。

我们通过构造多项式 g(x)g(x),使其在某点附近尽可能接近 f(x)f(x),从而实现函数的近似计算。

提示

大多数常见函数的泰勒展开是无穷项级数,其和在收敛区域内趋近于原函数。

实际应用中只需取前几项,就能获得足够精度,这正是计算机处理 sinx\sin xexe^x 等函数的基本方式。

麦克劳林公式

麦克劳林公式是泰勒公式在 x0=0x_0=0 处的特殊情况。

在多数应用中,麦克劳林公式已经足够使用,因为很多函数在 x=0x=0 附近展开最为简洁、对称性好,计算方便。

推导

原理

我们通过一个例子来直观理解。假设要用多项式函数 g(x)g(x) 近似指数函数 f(x)=exf(x)=e^x。设 g(x)g(x) 为:

g(x)=n=0anxn=a0+a1x+a2x2+a3x3+a4x4+g(x)=\sum_{n=0}^{\infty}a_nx^n=a_0+a_1x+a_2x^2+a_3x^3+a_4x^4+\cdots

我们的目标是确定每一项的系数 ana_n,使得 g(x)g(x)f(x)f(x) 完全一致。

要做到这一点,必须满足两者的 任何阶导数都要相同,即:

f(n)(x)=g(n)(x)(nN)f^{(n)}(x)=g^{(n)}(x)(n\in\mathbb{N})

过程

第一步

f(x)f(x)g(x)g(x)零阶导数(即原函数)相同:

f(x)=ex=g(x)=a0+a1x+a2x2+a3x3+a4x4+f(x)=e^x=g(x)=a_0+a_1x+a_2x^2+a_3x^3+a_4x^4+\cdots

代入 x=0x=0 得:

f(0)=e0=g(0)=a0=1f(0)=e^0=g(0)=a_0=1

因此:

a0=1a_0=1

第二步

f(x)f(x)g(x)g(x)一阶导数 相同:

f(x)=ex=g(x)=0+a1+2a2x+3a3x2+4a4x3+f'(x)=e^x=g'(x)=0+a_1+2a_2x+3a_3x^2+4a_4x^3+\cdots

代入 x=0x=0 得:

f(0)=e0=g(0)=a1=1f'(0)=e^0=g'(0)=a_1=1

因此:

a1=1a_1=1

第三步

f(x)f(x)g(x)g(x)二阶导数 相同:

f(2)(x)=ex=g(2)(x)=0+0+2a2+6a3x+12a4x2+f^{(2)}(x)=e^x=g^{(2)}(x)=0+0+2a_2+6a_3x+12a_4x^2+\cdots

代入 x=0x=0 得:

f(2)(0)=e0=g(2)(0)=2a2=1f^{(2)}(0)=e^0=g^{(2)}(0)=2a_2=1

因此:

a2=12a_2=\frac{1}{2}

第四步

f(x)f(x)g(x)g(x)三阶导数 相同:

f(3)(x)=ex=g(3)(x)=0+0+0+6a3+24a4x+f^{(3)}(x)=e^x=g^{(3)}(x)=0+0+0+6a_3+24a_4x+\cdots

代入 x=0x=0 得:

f(3)(0)=e0=g(3)(0)=6a3=1f^{(3)}(0)=e^0=g^{(3)}(0)=6a_3=1

因此:

a3=16a_3=\frac{1}{6}

找规律

以此类推不难发现:

f(x)f(x)g(x)g(x)nn 阶导数相同:

f(n)(x)=ex=g(n)(x)=n!an+x()f^{(n)}(x)=e^x=g^{(n)}(x)=n! a_{n}+x(\cdots)

代入 x=0x=0 得:

f(n)(0)=e0=g(n)(0)=n!an=1f^{(n)}(0)=e^0=g^{(n)}(0)=n! a_{n}=1

因此:

an=1n!a_n=\frac{1}{n!}

总结

ana_n 代入得:

g(x)=n=0anxn=n=0xnn!g(x)=\sum_{n=0}^{\infty}a_nx^n=\sum_{n=0}^{\infty}\frac{x^n}{n!}

因此,f(x)=exf(x)=e^x 的麦克劳林公式为:

f(x)=ex=g(x)=n=0xnn!=1+x+x22!+x33!+x44!+f(x)=e^x=g(x)=\sum_{n=0}^{\infty}\frac{x^n}{n!}=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\frac{x^4}{4!}+\cdots

更一般的麦克劳林公式为:

f(x)=n=0f(n)(0)n!xn=f(0)+f(0)x+f(2)(0)2!x2+f(3)(0)3!x3+f(4)(0)4!x4+f(x)=\sum_{n=0}^{\infty}\frac{f^{(n)}(0)}{n!}x^n=f(0)+f'(0)x+\frac{f^{(2)}(0)}{2!}x^2+\frac{f^{(3)}(0)}{3!}x^3+\frac{f^{(4)}(0)}{4!}x^4+\cdots

例题

正弦函数

sinx\sin x 的麦克劳林展开。

f(x)=sinxf(x)=\sin x.

它的导数每四阶循环一次:

(sinx)=cosx(cosx)=sinx(sinx)=cosx(cosx)=sinx(\sin x)'=\cos{x} \Rightarrow (\cos{x})'=-\sin x \Rightarrow (-\sin x)'=-\cos{x} \Rightarrow (-\cos{x})'=\sin x

代入麦克劳林公式:

f(x)=n=0f(n)(0)n!xn=xx33!+x55!x77!+x99!f(x)=\sum_{n=0}^{\infty}\frac{f^{(n)}(0)}{n!}x^n=x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\frac{x^9}{9!}-\cdots

因此,sinx\sin x 的麦克劳林公式为:

sinx=n=0(1)nx2n+1(2n+1)!\sin x=\sum_{n=0}^{\infty}(-1)^n\frac{x^{2n+1}}{(2n+1)!}

如希望展示误差项,也可写成:

sinx=xx33!+x55!+o(x6)\sin x=x-\frac{x^3}{3!}+\frac{x^5}{5!}+o(x^6)

适用范围

并非所有函数在任意点都可以展开为泰勒级数并等于原函数。

例如 f(x)=e1/x2f(x)=e^{-1/x^2}x=0x=0 处所有导数都为 00,但函数本身不为 00

因此,泰勒展开的前提是函数足够光滑,且在该点 可解析

常用公式

ex=n=0xnn!e^x=\sum_{n=0}^{\infty}\frac{x^n}{n!} sinx=n=0(1)nx2n+1(2n+1)!\sin x=\sum_{n=0}^{\infty}(-1)^{n}\frac{x^{2n+1}}{(2n+1)!} cosx=n=0(1)nx2n(2n)!\cos{x}=\sum_{n=0}^{\infty}(-1)^{n}\frac{x^{2n}}{(2n)!}