泰勒公式推导

泰勒公式

  由于教材中讲解泰勒公式过于理论化,没有深刻理解,更是不知道其用途。
所以写篇博客,用于给自己加深印象。同时通过一些现实中的例子来加深泰勒公式的理解。

泰勒公式的一般形态
f(x)f(x)f(x)x0x_0x0处有n阶导数,则有公式
f(x)=f(x0)+f′(x0)1!(x−x0)+f′′(x0)2!(x−x0)2+...+fn(x0)n!+o[(x−x0)n]f(x)=f(x_0)+{f^{'}(x_0)\over 1!}(x-x0)+{f^{''}(x_0)\over 2!}(x-x_0)^2+...+{f^{n}(x_0)\over n!} +o[(x-x0)^n]f(x)=f(x0)+1!f(x0)(xx0)+2!f′′(x0)(xx0)2+...+n!fn(x0)+o[(xx0)n]

函数的目的是求f(x)f(x)f(x)的值,导数从x0x_0x0处开始的,当然x越接近x0x_0x0,值就越准确,同时保留的阶数越多,也越精确。
泰勒公式第一项是f(x0)f(x_0)f(x0)是x0处的函数值,第二项就是函数f(x)f(x)f(x)的1阶导数乘以变化量。

泰勒公式的背景:用多项式逼近函数

我们先看任一个多项式
Pn(x)=a0+a1(x−x0)+a2(x−x0)2+a3(x−x0)3+...+an(x−x0)nP_n(x)=a_0+a_1(x-x_0)+a_2(x-x_0)^2+a_3(x-x_0)^3+...+a_n(x-x_0)^nPn(x)=a0+a1(xx0)+a2(xx0)2+a3(xx0)3+...+an(xx0)n
将这个多项式逐次求导得:
一次求导Pn′(x)=1∗a1+2∗a2(x−x0)+3∗a3(x−x0)2+...+n∗an(x−x0)n−1P^{'}_n(x)=1*a_1+2*a_2(x-x_0)+3*a_3(x-x_0)^2+...+n*a_n(x-x_0)^{n-1}Pn(x)=1a1+2a2(xx0)+3a3(xx0)2+...+nan(xx0)n1

二次求导Pn′(x)=2!∗a2+3∗2∗a3(x−x0)+...+n∗(n−1)an(x−x0)n−2P^{'}_n(x)=2!*a_2+3*2*a_3(x-x_0)+...+n*(n-1)a_n(x-x_0)^{n-2}Pn(x)=2!a2+32a3(xx0)+...+n(n1)an(xx0)n2

三次求导Pn′(x)=3!∗a3+...+n∗(n−1)∗(n−2)an(x−x0)n−3P^{'}_n(x)=3!*a_3+...+n*(n-1)*(n-2)a_n(x-x_0)^{n-3}Pn(x)=3!a3+...+n(n1)(n2)an(xx0)n3

n次求导Pn(n)=n∗(n−1)∗(n−2)∗...∗1=n!anP^{(n)}_n=n*(n-1)*(n-2)*...*1=n!a_nPn(n)=n(n1)(n2)...1=n!an

下面我们求出x0x_0x0处各阶的导数
Pn(x0)=a0P_n(x_0)=a_0Pn(x0)=a0P′(x0)=a1P^{'}(x_0)=a_1P(x0)=a1P′′(x0)=2!a2P^{''}(x_0)=2!a_2P′′(x0)=2!a2P′′′(x0)=3!a3P^{'''}(x_0)=3!a_3P′′′(x0)=3!a3,…,Pn(x0)=n!anP^{n}(x_0)=n!a_nPn(x0)=n!an

如果我们设定一个任意函数f(x)f(x)f(x)假设有n阶导数,让f(x0)f(x_0)f(x0)的值等于Pn(x0)P_n(x_0)Pn(x0),一阶导数f′(x0)f^{'}(x_0)f(x0)等于Pn′(x0)P^{'}_n(x_0)Pn(x0),二阶导数f′′(x0)f^{''}(x_0)f′′(x0)等于Pn′′(x0)P^{''}_n(x_0)Pn′′(x0),三阶导数f′′(x0)f^{''}(x_0)f′′(x0)等于Pn′′(x0)P^{''}_n(x_0)Pn′′(x0),一直到n阶fn(x0)f^{n}(x_0)fn(x0)等于Pnn(x0)P^{n}_n(x_0)Pnn(x0)

f(x0)=Pn(x0)=a0f(x_0)=P_n(x_0)=a_0f(x0)=Pn(x0)=a0
f′(x0)=Pn′(x0)=a1f^{'}(x_0)=P^{'}_n(x_0)=a_1f(x0)=Pn(x0)=a1
f′′(x0)=Pn′′(x0)=2!∗a2f^{''}(x_0)=P^{''}_n(x_0)=2!*a_2f′′(x0)=Pn′′(x0)=2!a2
f′′′(x0)=Pn′′′(x0)=3!∗a3f^{'''}(x_0)=P^{'''}_n(x_0)=3!*a_3f′′′(x0)=Pn′′′(x0)=3!a3

fn(x0)=Pnn(x0)=n!∗anf^{n}(x_0)=P^{n}_n(x_0)=n!*a_nfn(x0)=Pnn(x0)=n!an

推导出多项式的系数
a0=f(x0)a_0=f(x_0)a0=f(x0),a1=f′(x0)a_1=f^{'}(x_0)a1=f(x0),a2=f′′(x0)2!a_2=\frac {f^{''}(x_0)}{2!}a2=2!f′′(x0),a3=f′′′(x0)3!a_3=\frac {f^{'''}(x_0)}{3!}a3=3!f′′′(x0),…,an=fn(x0)n!a_n=\frac {f^{n}(x_0)}{n!}an=n!fn(x0)

把系数重新带入
Tn(x)=f(x0)+f′(x0)(x−x0)+f′′(x0)2!(x−x0)2+f′′′(x0)3!(x−x0)3+...+fn(x0)n!(x−x0)nT_n(x)=f(x_0)+f^{'}(x_0)(x-x_0)+\frac {f^{''}(x_0)}{2!}(x-x_0)^2+\frac {f^{'''}(x_0)}{3!}(x-x_0)^3+...+\frac {f^{n}(x_0)}{n!}(x-x_0)^nTn(x)=f(x0)+f(x0)(xx0)+2!f′′(x0)(xx0)2+3!f′′′(x0)(xx0)3+...+n!fn(x0)(xx0)n

多项式Tn(x)T_n(x)Tn(x)的各项系数由f(x)f(x)f(x)在点x0的各阶导数值所唯一确定的
从数感及直觉上f(x)f(x)f(x)Tn(x)T_n(x)Tn(x)x0x_0x0处非常非常接近,其实这两个函数的误差是无穷小的。如何证明呢

下面我们证明一下f(x)−Tn(x)=o((x−x0)n)f(x)-T_n(x)=o((x-x_0)^n)f(x)Tn(x)=o((xx0)n)

**定理:**若函数f在点x0x_0x0存在直到n阶的导数,则有f(x)=T_n(x)+o((x-x_0)^n),即:
f(x)=f(x0)+f′(x0)(x−x0)+...+fn(x0)n!(x−x0)n+o((x−x0)n)f(x)=f(x_0)+f^{'}(x_0)(x-x_0)+...+\frac {f^{n}(x_0)}{n!}(x-x_0)^n+o((x-x_0)^n)f(x)=f(x0)+f(x0)(xx0)+...+n!fn(x0)(xx0)n+o((xx0)n)


证明:Rn(x)=f(x)−Tn(x),Qn(x)=(x−x0)nR_n(x)=f(x)-T_n(x),Q_n(x)=(x-x_0)^nRn(x)=f(x)Tn(x)Qn(x)=(xx0)n,则需要证明
lim⁡x→x0Rn(x)Qn(x)=0 \lim_{x \to x_0} \frac{R_n(x)}{Q_n(x)}=0 xx0limQn(x)Rn(x)=0
根据 洛必达法则 lim⁡x→x0Rn(x)Qn(x)=lim⁡x→x0Rn′(x)Qn′(x)=lim⁡x→x0Rn′′(x)Qn′′(x)=...=lim⁡x→x0Rnn−1(x)Qnn−1(x)=lim⁡x→x0fn−1(x)−Tnn−1(x)n!(x−x0)=1n!lim⁡x→x0fn−1(x)−Tnn−1(x)(x−x0) \lim_{x \to x_0} \frac{R_n(x)}{Q_n(x)}=\lim_{x \to x_0} \frac{R^{'}_n(x)}{Q^{'}_n(x)} =\lim_{x \to x_0} \frac{R^{''}_n(x)}{Q^{''}_n(x)}=...=\lim_{x \to x_0} \frac{R^{n-1}_n(x)}{Q^{n-1}_n(x)} =\lim_{x \to x_0} \frac{f^{n-1}(x)-T^{n-1}_n(x)}{n!(x-x_0)} = \frac{1}{n!}\lim_{x \to x_0} \frac{f^{n-1}(x)-T^{n-1}_n(x)}{(x-x_0)}xx0limQn(x)Rn(x)=xx0limQn(x)Rn(x)=xx0limQn′′(x)Rn′′(x)=...=xx0limQnn1(x)Rnn1(x)=xx0limn!(xx0)fn1(x)Tnn1(x)=n!1xx0lim(xx0)fn1(x)Tnn1(x)

然后已知rn(n−1)(x)=f(n−1)(x0)−f(n)(x0)(x−x0)r^{(n-1)}_n(x)=f^{(n-1)}(x_0)-f^{(n)}(x_0)(x-x_0)rn(n1)(x)=f(n1)(x0)f(n)(x0)(xx0)
1n!lim⁡x→x0fn−1(x)−Tnn−1(x)(x−x0)=1n!lim⁡x→x0fn−1(x)−f(n−1)(x0)+f(n)(x0)(x−x0)(x−x0)=1n!lim⁡x→x0fn−1(x)−f(n−1)(x0)+f(n)(x0)(x−x0)(x−x0) \frac{1}{n!}\lim_{x \to x_0} \frac{f^{n-1}(x)-T^{n-1}_n(x)}{(x-x_0)} =\frac{1}{n!}\lim_{x \to x_0} \frac{f^{n-1}(x)-f^{(n-1)}(x_0)+f^{(n)}(x_0)(x-x_0)}{(x-x_0)}= \frac{1}{n!}\lim_{x \to x_0} \frac{f^{n-1}(x)-f^{(n-1)}(x_0)+f^{(n)}(x_0)(x-x_0)}{(x-x_0)}n!1xx0lim(xx0)fn1(x)Tnn1(x)=n!1xx0lim(xx0)fn1(x)f(n1)(x0)+f(n)(x0)(xx0)=n!1xx0lim(xx0)fn1(x)f(n1)(x0)+f(n)(x0)(xx0)
=1n!lim⁡x→x0fn−1(x)−f(n−1)(x0)(x−x0)+f(n)(x0)=\frac{1}{n!} \lim_{x \to x_0} \frac{f^{n-1}(x)-f^{(n-1)}(x_0)}{(x-x_0)}+f^{(n)}(x_0)=n!1limxx0(xx0)fn1(x)f(n1)(x0)+f(n)(x0)

其实前半部分fn−1(x)−f(n−1)(x0)(x−x0)=f(n)(x0)\frac{f^{n-1}(x)-f^{(n-1)}(x_0)}{(x-x_0)}=f^{(n)}(x_0)(xx0)fn1(x)f(n1)(x0)=f(n)(x0)
所以1n!lim⁡x→x0fn−1(x)−Tnn−1(x)(x−x0)=0\frac{1}{n!}\lim_{x \to x_0} \frac{f^{n-1}(x)-T^{n-1}_n(x)}{(x-x_0)}=0n!1limxx0(xx0)fn1(x)Tnn1(x)=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值