泰勒公式

引入

我们知道,当x0时,有

sinxx
exx+1

然而,当|x|较大时,这些近似公式就变得不准确. 所以,我们就想要构造一个更精确的多项函数来近似表示一些函数. 我们假设一个函数f(x)在点x0的某邻域U(x0)能近似表达为这样一个多项式

Pn(x)=a0+a1(xx0)+a2(xx0)2++an(xx0)n

并且满足当xx0Pn(x)f(x)之差仅为比(xx0)n高阶的无穷小. 假设Pn(x)x0处的n阶导数都依次等于f(x0),f(x0),f(x0),,f(n)(x0),即满足

f(n)(x)=n! an+(n+1)! an+1(xx0)+(n+2)!2! an+2(xx0)2+
f(n)(x0)=n! an
an=1n!f(n)(x0)

将这个系数代入Pn(x),可以得到

Pn(x)=f(x0)+f(x0)(xx0)+f(x0)2!(xx0)2++f(n)(x0)n!(xx0)n

泰勒公式一

若函数f(x)x0处存在n阶导数,那么 U(x0),对于 xU(x0),有

f(x)=f(x0)+f(x0)(xx0)+f(x0)2!(xx0)2++f(n)(x0)n!(xx0)n+Rn(x)
=i=0nf(n)(x0)n!(xx0)n+Rn(x)

其中

Rn(x)=o((xx0)n)

证明: Rn(x)=f(x)Pn(x),则

Rn(x0)=Rn(x0)=Rn(x0)==Rn(n)(x0)=0

因为f(x)x0处有n阶导数,所以f(x)必在x0某邻域中(n1)阶可导,Rn(x)也在该邻域内(n1)阶可导,反复运用洛必达法则,得到

limxx0Rn(x)(xx0)n=limxx0Rn(x)n(xx0)n1=limxx0Rn(x)n(n1)(xx0)n2==limxx0Rn(n1)(x)n!(xx0)=1n!limxx0Rn(n1)(x)Rn(n1)(x0)xx0=1n!R(n)(x0)=0
Rn(x)=o((xx0)n)
Q.E.D

在此公式中,Rn(x)被称为佩亚诺余项,虽然它是o((xx0)n),但它不能具体估计误差大小。下面的公式就解决了这个问题.

泰勒公式二

若函数f(x)x0处存在(n+1)阶导数,那么 U(x0),对于 xU(x0),有

f(x0)+f(x0)(xx0)+f(x0)2!(xx0)2++f(n)(x0)n!(xx0)n+Rn(x)

其中

Rn(x)=f(n+1)(ξ)(n+1)!(xx0)n+1

ξ是在x0x之间的一个数. 证明该公式需要用到两个密切关联的定理.

两个引证

引证1: 若函数f(x)满足 (1)在[a,b]上连续; (2)在(a,b)上可导; (3)f(a)=f(b) 那么在(a,b)内至少有一点ξ使得f(ξ)=0 这定理可由费马引理得出,这里不证.
引证2: 若函数f(x),F(x)满足 (1)在[a,b]上连续; (2)在(a,b)上可导; 那么在(a,b)内至少有一点ξ使等式

f(b)f(a)F(b)F(a)=f(ξ)F(ξ)

成立 证明: 构造辅助函数

φ(x)=f(x)f(b)f(a)F(b)F(a)F(x)

注意到

φ(a)=f(a)F(b)f(b)F(a)F(b)F(a)
φ(b)=f(a)F(b)f(b)F(a)F(b)F(a)
φ(a)=φ(b)

所以φ(x)符合罗尔定理的条件,所以必有一点ξ(a,b),使得等式

φ(ξ)=f(ξ)f(b)f(a)F(b)F(a)F(ξ)=0

成立

f(b)f(a)F(b)F(a)=f(ξ)F(ξ)
Q.E.D

泰勒公式二的证明

回到泰勒公式二的证明,我们有

Rn(x0)=Rn(x0)=Rn(x0)==Rn(n)(x0)=0

对函数Rn(x)和函数(xx0)n+1使用柯西中值定理(它们显然符合柯西中值定理的条件).

Rnx(xx0)n+1=Rn(x)Rn(x0)(xx0)n+10=Rn(ξ1)(n+1)(ξ1x0)n(ξ1x0x之间)

同理可得

Rn(ξ1)(n+1)(ξ1x0)n=Rn(ξ2)(n+1)n(ξ2x0)n1(ξ2x0ξ1之间)

一直像这样进行下去,直到

Rnx(xx0)n+1=Rn(n+1)(ξ)(n+1)!(ξx0x之间)
Pn(n+1)(x)=0
Rn(n+1)(ξ)=f(n+1)(ξ)
Rn(x)=f(n+1)(ξ)(n+1)!(xx0)n+1(ξx0x之间)
Q.E.D