泰勒展开式
文章目录
- 泰勒展开式
- 简介
- 定义
- 近似举例
- 推导理解
- 参考
简介
泰勒公式,也称泰勒展开式,可以用来在局部范围内近似复杂函数。
通俗的讲:
设有一个复杂的未知函数
f
(
x
)
f(x)
f(x),我们想要知道它在某个范围
[
a
,
b
]
[a,b]
[a,b]内的值,假设范围内有一个点
x
0
x_0
x0,已知
f
(
x
0
)
f(x_0)
f(x0)。
我们无法通过 f ( x ) f(x) f(x)直接求 f ( x 0 + δ x ) f(x_0+\delta x) f(x0+δx)的值,但如果已知其在某一点 x 0 x_0 x0的各阶导数值,泰勒公式可以利用这些导数值,以多项式形式在 x 0 x_0 x0附近来近似 f ( x ) f(x) f(x),求得 x 0 x_0 x0附近的值 f ( x 0 + δ x ) f(x_0+\delta x) f(x0+δx)。
定义
如果函数
f
(
x
)
f(x)
f(x) 在含
x
0
x_0
x0 的某个开区间
(
a
,
b
)
(a,b)
(a,b) 内具有
(
n
+
1
)
(n+1)
(n+1) 阶导数,则对
∀
x
∈
(
a
,
b
)
\forall x \in (a,b)
∀x∈(a,b) ,有:
f
(
x
)
=
f
(
x
0
)
0
!
+
f
′
(
x
0
)
1
!
(
x
−
x
0
)
+
…
+
f
(
n
)
(
x
0
)
n
!
(
x
−
x
0
)
n
+
R
n
(
x
)
(1)
f(x)=\frac{f(x_{0})}{0 !}+\frac{f^{\prime}(x_{0})}{1 !}(x-x_{0})+\ldots+\frac{f^{(n)}(x_{0})}{n !}(x-x_{0})^{n}+R_{n}(x) \tag{1}
f(x)=0!f(x0)+1!f′(x0)(x−x0)+…+n!f(n)(x0)(x−x0)n+Rn(x)(1)
其中,
R
n
(
x
)
=
f
(
n
+
1
)
(
ξ
)
(
n
+
1
)
!
(
x
−
x
0
)
n
+
1
R_{n} (x) = \frac{f^{(n+1)}(\xi )}{(n+1)!}(x-x_{0})^{n+1}
Rn(x)=(n+1)!f(n+1)(ξ)(x−x0)n+1,被称之为余项,代表近似函数和
f
(
x
)
f(x)
f(x)之间的误差,
ξ
\xi
ξ 为
x
0
\small x_{0}
x0 与
x
x
x 之间的值。余项有几种表达方式,此为其中一种。
近似举例
假设有一个复杂的函数 f ( x ) f(x) f(x)
- x 0 = 0 x_0 = 0 x0=0时, f ( x 0 ) = 1 f(x_0)=1 f(x0)=1
- f ( 1 ) ( x 0 ) = f ( 3 ) ( x 0 ) f^{(1)}(x_0) = f^{(3)}(x_0) f(1)(x0)=f(3)(x0) = f ( 5 ) ( x 0 ) = f ( 7 ) ( x 0 ) = 0 f^{(5)}(x_0) = f^{(7)}(x_0) = 0 f(5)(x0)=f(7)(x0)=0
- f ( 2 ) ( x 0 ) = f ( 6 ) ( x 0 ) = − 1 f^{(2)}(x_0) = f^{(6)}(x_0) = -1 f(2)(x0)=f(6)(x0)=−1
- f ( 4 ) ( x 0 ) = f ( 8 ) ( x 0 ) = 1 f^{(4)}(x_0) = f^{(8)}(x_0) = 1 f(4)(x0)=f(8)(x0)=1
我们用
P
n
P_n
Pn来表示
n
n
n阶的泰勒展开近似。
图中,P1,P2,P4,P6,P8 分别代表 n = 1 , 2 , 4 , 6 , 8 n=1,2,4,6,8 n=1,2,4,6,8 时的 P i P_i Pi 函数的曲线。
可以很清楚的看到,当 n n n 越大, P i P_i Pi和 f ( x ) f(x) f(x)越近似
推导理解
设多项式
P
n
(
x
)
P_n(x)
Pn(x):
P
n
(
x
)
=
a
0
+
a
1
(
x
−
x
0
)
+
a
2
(
x
−
x
0
)
2
+
.
.
.
+
a
n
(
x
−
x
0
)
n
(2)
P_n(x) = a_0 + a_1(x-x_0) + a_2(x-x_0)^2 + ... + a_n(x-x_0)^n \tag{2}
Pn(x)=a0+a1(x−x0)+a2(x−x0)2+...+an(x−x0)n(2)
在
x
0
x_0
x0附近近似
f
(
x
)
f(x)
f(x)。
多项式 P n ( x ) P_n(x) Pn(x) 如果要和 f ( x ) f(x) f(x) 在 x 0 x_0 x0 附近无限近似,则 P n ( x ) P_n(x) Pn(x) 和 f ( x ) f(x) f(x) 曲线应该满足:
- 两曲线在 ( x 0 , f ( x 0 ) ) (x_0,f(x_0)) (x0,f(x0))处相交
- 进一步,两曲线在 ( x 0 , f ( x 0 ) ) (x_0,f(x_0)) (x0,f(x0)) 处相切,即导数相同
- 进一步,两曲线在 ( x 0 , f ( x 0 ) ) (x_0,f(x_0)) (x0,f(x0)) 处的导数变化一致,即二阶导数相同。
- …
即:
P
n
(
x
0
)
=
f
(
x
0
)
P
n
(
1
)
(
x
0
)
=
f
(
1
)
(
x
0
)
=
a
1
P
n
(
2
)
(
x
0
)
=
f
(
2
)
(
x
0
)
=
2
!
a
2
P
n
(
3
)
(
x
0
)
=
f
(
3
)
(
x
0
)
=
3
!
a
3
.
.
.
P
n
(
n
)
(
x
0
)
=
f
(
n
)
(
x
0
)
=
n
!
a
n
(3)
\begin{aligned} & P_n(x_0) = f(x_0) \\ & P_n^{(1)}(x_0) = f^{(1)}(x_0) = a_1 \\ & P_n^{(2)}(x_0) = f^{(2)}(x_0) = 2!a_2\\ & P_n^{(3)}(x_0) = f^{(3)}(x_0) = 3!a_3 \\ & ... \\ & P_n^{(n)}(x_0) = f^{(n)}(x_0) = n!a_n \tag{3} \end{aligned}
Pn(x0)=f(x0)Pn(1)(x0)=f(1)(x0)=a1Pn(2)(x0)=f(2)(x0)=2!a2Pn(3)(x0)=f(3)(x0)=3!a3...Pn(n)(x0)=f(n)(x0)=n!an(3)
将(2)中的
a
0
,
a
1
,
a
2
,
.
.
.
a
n
a_0,a_1,a_2,...a_n
a0,a1,a2,...an 用(3)中的
f
(
x
0
)
f(x_0)
f(x0)各阶导数替换,再用
R
n
(
x
)
R_n(x)
Rn(x)来表示两者间的误差,最终就得到了等式(1)。
参考
泰勒公式是怎么推导的?这篇文章告诉你!