泰勒公式

引入

我们知道,当x→0时,有

sin⁡x∼x
ex∼x+1

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

Pn(x)=a0+a1(x−x0)+a2(x−x0)2+⋯+an(x−x0)n

并且满足当x→x0时Pn(x)与f(x)之差仅为比(x−x0)n高阶的无穷小. 假设Pn(x)在x0处的n阶导数都依次等于f(x0),f′(x0),f″(x0),⋯,f(n)(x0),即满足

f(n)(x)=n! an+(n+1)! an+1(x−x0)+(n+2)!2! an+2(x−x0)2+⋯
∴f(n)(x0)=n! an
an=1n!f(n)(x0)

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

Pn(x)=f(x0)+f′(x0)(x−x0)+f″(x0)2!(x−x0)2+⋯+f(n)(x0)n!(x−x0)n

泰勒公式一

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

f(x)=f(x0)+f′(x0)(x−x0)+f″(x0)2!(x−x0)2+⋯+f(n)(x0)n!(x−x0)n+Rn(x)
=∑i=0nf(n)(x0)n!(x−x0)n+Rn(x)

其中

Rn(x)=o((x−x0)n)

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

Rn(x0)=Rn′(x0)=Rn″(x0)=⋯=Rn(n)(x0)=0

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

limx→x0Rn(x)(x−x0)n=limx→x0Rn′(x)n(x−x0)n−1=limx→x0Rn″(x)n(n−1)(x−x0)n−2=⋯=limx→x0Rn(n−1)(x)n!(x−x0)=1n!limx→x0Rn(n−1)(x)−Rn(n−1)(x0)x−x0=1n!R(n)(x0)=0
∴Rn(x)=o((x−x0)n)
Q.E.D

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

泰勒公式二

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

f(x0)+f′(x0)(x−x0)+f″(x0)2!(x−x0)2+⋯+f(n)(x0)n!(x−x0)n+Rn(x)

其中

Rn(x)=f(n+1)(ξ)(n+1)!(x−x0)n+1

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

两个引证

引证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)和函数(x−x0)n+1使用柯西中值定理(它们显然符合柯西中值定理的条件).

Rnx(x−x0)n+1=Rn(x)−Rn(x0)(x−x0)n+1−0=Rn′(ξ1)(n+1)(ξ1−x0)n(ξ1在x0与x之间)

同理可得

Rn′(ξ1)(n+1)(ξ1−x0)n=Rn(ξ2)(n+1)n(ξ2−x0)n−1(ξ2在x0与ξ1之间)

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

Rnx(x−x0)n+1=Rn(n+1)(ξ)(n+1)!(ξ在x0与x之间)
∵Pn(n+1)(x)=0
∴Rn(n+1)(ξ)=f(n+1)(ξ)
∴Rn(x)=f(n+1)(ξ)(n+1)!(x−x0)n+1(ξ在x0与x之间)
Q.E.D