泰勒公式
由于教材中讲解泰勒公式过于理论化,没有深刻理解,更是不知道其用途。
所以写篇博客,用于给自己加深印象。同时通过一些现实中的例子来加深泰勒公式的理解。
泰勒公式的一般形态
设
f
(
x
)
f(x)
f(x)在
x
0
x_0
x0处有n阶导数,则有公式
f
(
x
)
=
f
(
x
0
)
+
f
′
(
x
0
)
1
!
(
x
−
x
0
)
+
f
′
′
(
x
0
)
2
!
(
x
−
x
0
)
2
+
.
.
.
+
f
n
(
x
0
)
n
!
+
o
[
(
x
−
x
0
)
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)(x−x0)+2!f′′(x0)(x−x0)2+...+n!fn(x0)+o[(x−x0)n]
函数的目的是求
f
(
x
)
f(x)
f(x)的值,导数从
x
0
x_0
x0处开始的,当然x越接近
x
0
x_0
x0,值就越准确,同时保留的阶数越多,也越精确。
泰勒公式第一项是
f
(
x
0
)
f(x_0)
f(x0)是x0处的函数值,第二项就是函数
f
(
x
)
f(x)
f(x)的1阶导数乘以变化量。
泰勒公式的背景:用多项式逼近函数
我们先看任一个多项式
P
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
)
n
P_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)^n
Pn(x)=a0+a1(x−x0)+a2(x−x0)2+a3(x−x0)3+...+an(x−x0)n
将这个多项式逐次求导得:
一次求导
P
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
P^{'}_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)=1∗a1+2∗a2(x−x0)+3∗a3(x−x0)2+...+n∗an(x−x0)n−1
二次求导
P
n
′
(
x
)
=
2
!
∗
a
2
+
3
∗
2
∗
a
3
(
x
−
x
0
)
+
.
.
.
+
n
∗
(
n
−
1
)
a
n
(
x
−
x
0
)
n
−
2
P^{'}_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+3∗2∗a3(x−x0)+...+n∗(n−1)an(x−x0)n−2
三次求导
P
n
′
(
x
)
=
3
!
∗
a
3
+
.
.
.
+
n
∗
(
n
−
1
)
∗
(
n
−
2
)
a
n
(
x
−
x
0
)
n
−
3
P^{'}_n(x)=3!*a_3+...+n*(n-1)*(n-2)a_n(x-x_0)^{n-3}
Pn′(x)=3!∗a3+...+n∗(n−1)∗(n−2)an(x−x0)n−3
…
n次求导
P
n
(
n
)
=
n
∗
(
n
−
1
)
∗
(
n
−
2
)
∗
.
.
.
∗
1
=
n
!
a
n
P^{(n)}_n=n*(n-1)*(n-2)*...*1=n!a_n
Pn(n)=n∗(n−1)∗(n−2)∗...∗1=n!an
下面我们求出
x
0
x_0
x0处各阶的导数
P
n
(
x
0
)
=
a
0
P_n(x_0)=a_0
Pn(x0)=a0,
P
′
(
x
0
)
=
a
1
P^{'}(x_0)=a_1
P′(x0)=a1,
P
′
′
(
x
0
)
=
2
!
a
2
P^{''}(x_0)=2!a_2
P′′(x0)=2!a2,
P
′
′
′
(
x
0
)
=
3
!
a
3
P^{'''}(x_0)=3!a_3
P′′′(x0)=3!a3,…,
P
n
(
x
0
)
=
n
!
a
n
P^{n}(x_0)=n!a_n
Pn(x0)=n!an
如果我们设定一个任意函数
f
(
x
)
f(x)
f(x)假设有n阶导数,让
f
(
x
0
)
f(x_0)
f(x0)的值等于
P
n
(
x
0
)
P_n(x_0)
Pn(x0),一阶导数
f
′
(
x
0
)
f^{'}(x_0)
f′(x0)等于
P
n
′
(
x
0
)
P^{'}_n(x_0)
Pn′(x0),二阶导数
f
′
′
(
x
0
)
f^{''}(x_0)
f′′(x0)等于
P
n
′
′
(
x
0
)
P^{''}_n(x_0)
Pn′′(x0),三阶导数
f
′
′
(
x
0
)
f^{''}(x_0)
f′′(x0)等于
P
n
′
′
(
x
0
)
P^{''}_n(x_0)
Pn′′(x0),一直到n阶
f
n
(
x
0
)
f^{n}(x_0)
fn(x0)等于
P
n
n
(
x
0
)
P^{n}_n(x_0)
Pnn(x0)
f
(
x
0
)
=
P
n
(
x
0
)
=
a
0
f(x_0)=P_n(x_0)=a_0
f(x0)=Pn(x0)=a0
f
′
(
x
0
)
=
P
n
′
(
x
0
)
=
a
1
f^{'}(x_0)=P^{'}_n(x_0)=a_1
f′(x0)=Pn′(x0)=a1
f
′
′
(
x
0
)
=
P
n
′
′
(
x
0
)
=
2
!
∗
a
2
f^{''}(x_0)=P^{''}_n(x_0)=2!*a_2
f′′(x0)=Pn′′(x0)=2!∗a2
f
′
′
′
(
x
0
)
=
P
n
′
′
′
(
x
0
)
=
3
!
∗
a
3
f^{'''}(x_0)=P^{'''}_n(x_0)=3!*a_3
f′′′(x0)=Pn′′′(x0)=3!∗a3
…
f
n
(
x
0
)
=
P
n
n
(
x
0
)
=
n
!
∗
a
n
f^{n}(x_0)=P^{n}_n(x_0)=n!*a_n
fn(x0)=Pnn(x0)=n!∗an
推导出多项式的系数
a
0
=
f
(
x
0
)
a_0=f(x_0)
a0=f(x0),
a
1
=
f
′
(
x
0
)
a_1=f^{'}(x_0)
a1=f′(x0),
a
2
=
f
′
′
(
x
0
)
2
!
a_2=\frac {f^{''}(x_0)}{2!}
a2=2!f′′(x0),
a
3
=
f
′
′
′
(
x
0
)
3
!
a_3=\frac {f^{'''}(x_0)}{3!}
a3=3!f′′′(x0),…,
a
n
=
f
n
(
x
0
)
n
!
a_n=\frac {f^{n}(x_0)}{n!}
an=n!fn(x0)
把系数重新带入
T
n
(
x
)
=
f
(
x
0
)
+
f
′
(
x
0
)
(
x
−
x
0
)
+
f
′
′
(
x
0
)
2
!
(
x
−
x
0
)
2
+
f
′
′
′
(
x
0
)
3
!
(
x
−
x
0
)
3
+
.
.
.
+
f
n
(
x
0
)
n
!
(
x
−
x
0
)
n
T_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)^n
Tn(x)=f(x0)+f′(x0)(x−x0)+2!f′′(x0)(x−x0)2+3!f′′′(x0)(x−x0)3+...+n!fn(x0)(x−x0)n
多项式
T
n
(
x
)
T_n(x)
Tn(x)的各项系数由
f
(
x
)
f(x)
f(x)在点x0的各阶导数值所唯一确定的
从数感及直觉上
f
(
x
)
f(x)
f(x)和
T
n
(
x
)
T_n(x)
Tn(x)在
x
0
x_0
x0处非常非常接近,其实这两个函数的误差是无穷小的。如何证明呢
下面我们证明一下
f
(
x
)
−
T
n
(
x
)
=
o
(
(
x
−
x
0
)
n
)
f(x)-T_n(x)=o((x-x_0)^n)
f(x)−Tn(x)=o((x−x0)n)
**定理:**若函数f在点
x
0
x_0
x0存在直到n阶的导数,则有f(x)=T_n(x)+o((x-x_0)^n),即:
f
(
x
)
=
f
(
x
0
)
+
f
′
(
x
0
)
(
x
−
x
0
)
+
.
.
.
+
f
n
(
x
0
)
n
!
(
x
−
x
0
)
n
+
o
(
(
x
−
x
0
)
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)(x−x0)+...+n!fn(x0)(x−x0)n+o((x−x0)n)。
证明: 设
R
n
(
x
)
=
f
(
x
)
−
T
n
(
x
)
,
Q
n
(
x
)
=
(
x
−
x
0
)
n
R_n(x)=f(x)-T_n(x),Q_n(x)=(x-x_0)^n
Rn(x)=f(x)−Tn(x),Qn(x)=(x−x0)n,则需要证明
lim
x
→
x
0
R
n
(
x
)
Q
n
(
x
)
=
0
\lim_{x \to x_0} \frac{R_n(x)}{Q_n(x)}=0
x→x0limQn(x)Rn(x)=0。
根据 洛必达法则
lim
x
→
x
0
R
n
(
x
)
Q
n
(
x
)
=
lim
x
→
x
0
R
n
′
(
x
)
Q
n
′
(
x
)
=
lim
x
→
x
0
R
n
′
′
(
x
)
Q
n
′
′
(
x
)
=
.
.
.
=
lim
x
→
x
0
R
n
n
−
1
(
x
)
Q
n
n
−
1
(
x
)
=
lim
x
→
x
0
f
n
−
1
(
x
)
−
T
n
n
−
1
(
x
)
n
!
(
x
−
x
0
)
=
1
n
!
lim
x
→
x
0
f
n
−
1
(
x
)
−
T
n
n
−
1
(
x
)
(
x
−
x
0
)
\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)}
x→x0limQn(x)Rn(x)=x→x0limQn′(x)Rn′(x)=x→x0limQn′′(x)Rn′′(x)=...=x→x0limQnn−1(x)Rnn−1(x)=x→x0limn!(x−x0)fn−1(x)−Tnn−1(x)=n!1x→x0lim(x−x0)fn−1(x)−Tnn−1(x)
然后已知
r
n
(
n
−
1
)
(
x
)
=
f
(
n
−
1
)
(
x
0
)
−
f
(
n
)
(
x
0
)
(
x
−
x
0
)
r^{(n-1)}_n(x)=f^{(n-1)}(x_0)-f^{(n)}(x_0)(x-x_0)
rn(n−1)(x)=f(n−1)(x0)−f(n)(x0)(x−x0)
1
n
!
lim
x
→
x
0
f
n
−
1
(
x
)
−
T
n
n
−
1
(
x
)
(
x
−
x
0
)
=
1
n
!
lim
x
→
x
0
f
n
−
1
(
x
)
−
f
(
n
−
1
)
(
x
0
)
+
f
(
n
)
(
x
0
)
(
x
−
x
0
)
(
x
−
x
0
)
=
1
n
!
lim
x
→
x
0
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)-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!1x→x0lim(x−x0)fn−1(x)−Tnn−1(x)=n!1x→x0lim(x−x0)fn−1(x)−f(n−1)(x0)+f(n)(x0)(x−x0)=n!1x→x0lim(x−x0)fn−1(x)−f(n−1)(x0)+f(n)(x0)(x−x0)
=
1
n
!
lim
x
→
x
0
f
n
−
1
(
x
)
−
f
(
n
−
1
)
(
x
0
)
(
x
−
x
0
)
+
f
(
n
)
(
x
0
)
=\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!1limx→x0(x−x0)fn−1(x)−f(n−1)(x0)+f(n)(x0)
其实前半部分
f
n
−
1
(
x
)
−
f
(
n
−
1
)
(
x
0
)
(
x
−
x
0
)
=
f
(
n
)
(
x
0
)
\frac{f^{n-1}(x)-f^{(n-1)}(x_0)}{(x-x_0)}=f^{(n)}(x_0)
(x−x0)fn−1(x)−f(n−1)(x0)=f(n)(x0)
所以
1
n
!
lim
x
→
x
0
f
n
−
1
(
x
)
−
T
n
n
−
1
(
x
)
(
x
−
x
0
)
=
0
\frac{1}{n!}\lim_{x \to x_0} \frac{f^{n-1}(x)-T^{n-1}_n(x)}{(x-x_0)}=0
n!1limx→x0(x−x0)fn−1(x)−Tnn−1(x)=0