泰勒公式及其证明

泰勒公式

引入#

我们知道,当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

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

posted @   MDNTCT  阅读(178)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示