图文证明 泰勒公式展开
泰勒公式简单来说就是,可以用一个N次多项式来表示出一个连续可导的函数 f(x)是一个用函数在某点的信息描述其附近取值的公式。
泰勒公式
泰勒公式简单来说就是,可以用一个N次多项式来表示出一个连续可导的函数 f(x)
是一个用函数在某点的信息描述其附近取值的公式
第一步
思考
这是一个sin(x)的图像 用函数在原点的信息描述其附近取值
用一阶导数贴合:
直接用切线来贴合就好
画一个点(0,sin(0)除的切线 可以由直线的两点式得 :
y
=
f
(
0
)
+
f
′
(
0
)
(
x
−
0
)
y = f(0) + f'(0)(x-0)
y=f(0)+f′(0)(x−0)
根据图像我们发现在
0
附近这个函数和
s
i
n
(
x
)
很贴合
,
越靠近
0
越贴合
根据图像我们发现在0附近这个函数和sin(x)很贴合,越靠近0越贴合
根据图像我们发现在0附近这个函数和sin(x)很贴合,越靠近0越贴合
找个三次函数来贴合:
找个五次函数贴合:
我们发现阶数越高越贴合 , 离 0 越近越贴合 我们发现阶数越高越贴合,离0越近越贴合 我们发现阶数越高越贴合,离0越近越贴合
于是我们,大胆假定一个函数可以用N次多项式来进行代替
f ( x ) = C 0 + C 1 x + C 2 x 2 + … + C N − 1 x N − 1 + C N x N f(x) = C_0 + C_1 x + C_2 x^2 + \ldots + C_{N-1} x^{N-1} + C_N x^N f(x)=C0+C1x+C2x2+…+CN−1xN−1+CNxN
求系数
所以现在变为,我们怎么得到N次多项式的系数
因为我们是由一个点的信息来描述其附近取值,那么我们可以理解为这个点的附近区域的函数段是相同的,那么它们的各阶导数该点的值也是相同的.
举例子:
给定多项式:
f
(
x
)
=
C
0
+
C
1
x
+
C
2
x
2
+
C
3
x
3
f(x) = C_0 + C_1 x + C_2 x^2 + C_3 x^3
f(x)=C0+C1x+C2x2+C3x3
第一步,令 ( x ) 为零,得到:
f
(
0
)
=
C
0
f(0) = C_0
f(0)=C0
第二步,对 ( f(x) ) 求导,得到一阶导数:
f
′
(
x
)
=
C
1
+
2
C
2
x
+
3
C
3
x
2
f'(x) = C_1 + 2C_2x + 3C_3x^2
f′(x)=C1+2C2x+3C3x2
代入 ( x = 0 ),得到:
f
′
(
0
)
=
C
1
f'(0) = C_1
f′(0)=C1
第三步,对 ( f(x) ) 进行二次求导,得到二阶导数:
f
′
′
(
x
)
=
2
C
2
+
6
C
3
x
f''(x) = 2C_2 + 6C_3x
f′′(x)=2C2+6C3x
代入 ( x = 0 ),得到:
f
′
′
(
0
)
=
2
C
2
f''(0) = 2C_2
f′′(0)=2C2
C
2
=
f
′
′
(
0
)
2
C_2 = \frac{f''(0)}{2}
C2=2f′′(0)
第四步,对 ( f(x) ) 进行三次求导,得到三阶导数:
f
′
′
′
(
x
)
=
6
C
3
f'''(x) = 6C_3
f′′′(x)=6C3
代入 ( x = 0 ),得到:
f
′
′
′
(
0
)
=
6
C
3
f'''(0) = 6C_3
f′′′(0)=6C3
C
3
=
f
′
′
′
(
0
)
6
C_3 = \frac{f'''(0)}{6}
C3=6f′′′(0)
然后,你总结得到多项式的泰勒展开式为:
f
(
x
)
=
f
(
0
)
+
f
′
(
0
)
x
+
f
′
′
(
0
)
2
!
x
2
+
f
′
′
′
(
0
)
3
!
x
3
f(x) = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \frac{f'''(0)}{3!}x^3
f(x)=f(0)+f′(0)x+2!f′′(0)x2+3!f′′′(0)x3
这是一个泰勒展开,适用于充分光滑的函数,通过这个展开式,我们可以近似表示函数在 ( x = 0 ) 附近的行为。
我们通过运算发现
给定函数 f(x),在 x = a 处的 n 阶泰勒展开式为:
P n ( x ) = f ( a ) + f ′ ( a ) ( x − a ) + f ′ ′ ( a ) 2 ! ( x − a ) 2 + f ′ ′ ′ ( a ) 3 ! ( x − a ) 3 + … + f ( n ) ( a ) n ! ( x − a ) n P_n(x) = f(a) + f'(a)(x - a) + \frac{f''(a)}{2!}(x - a)^2 + \frac{f'''(a)}{3!}(x - a)^3 + \ldots + \frac{f^{(n)}(a)}{n!}(x - a)^n Pn(x)=f(a)+f′(a)(x−a)+2!f′′(a)(x−a)2+3!f′′′(a)(x−a)3+…+n!f(n)(a)(x−a)n
其中, f ′ ( a ) 表示 f ( x ) 在 x = a 处的一阶导数, f ′ ′ ( a ) 表示二阶导数,以此类推, f ( n ) ( a ) 表示第 n 阶导数。 其中,f'(a) 表示 f(x) 在 x = a 处的一阶导数,f''(a) 表示二阶导数,以此类推,f^{(n)}(a) 表示第 n 阶导数。 其中,f′(a)表示f(x)在x=a处的一阶导数,f′′(a)表示二阶导数,以此类推,f(n)(a)表示第n阶导数。
通用形式为:
P n ( x ) = ∑ k = 0 n f ( k ) ( a ) k ! ( x − a ) k P_n(x) = \sum_{k=0}^{n} \frac{f^{(k)}(a)}{k!}(x - a)^k Pn(x)=k=0∑nk!f(k)(a)(x−a)k
试试不在0展开
在点1处展开:
一次多项式
:
一次多项式:
一次多项式:
三次多项式
:
三次多项式:
三次多项式:
五次多项式
:
五次多项式:
五次多项式:
为什么可以表示
1阶导数是描述原函数的变化
2阶导数又是描述一阶导数的变化
所以多次在不断的导是要知道原函数在该点的变化,二阶导又看变化的变化怎么变化…
这个过程就仿佛是要把一根直的铁丝掰成函数的形状一样,而描述的点就是重该处开始模仿怎么掰一样,每提高一次多项式,就仿佛是多掰一次一样
参考信息:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)