数学吧 关注:848,206贴子:8,597,165

闲侃泰勒公式

只看楼主收藏回复

学过高等数学的人,往往都知道一个泰勒公式,而且高中生也会使用泰勒公式进行不等式的放缩。
但是教材里的推导仅仅只使得一般学生看懂过程,但并不明其意。
开门见山端出来两个公式,如下:
公式(1)叫单点的泰勒公式(有的书本上叫做局部泰勒公式),公式(2)则是区间上的泰勒公式。当年泰勒在研究超越函数和超越方程的数值解而发明的,何为超越函数?比如e^x,lnx,sinx arcsinx等等,它们的无法求出精确的解析解而只有近似的数值解。
泰勒公式在形式上是用一个代数(非超越式)多项式去逼近一个超越函数。而它的神奇之处在于只需要函数(比如超越函数等)在某一点x0处的信息就能用一个简单的代数多项式来描绘或者模拟出这个函数的原本信息。
好比用一个人来模拟另外一个人的身高,不光要求身高一致,还要求身高变化的快慢一致。再比如用一段直线段去模拟曲线段,那么如何进行比较好呢?
再来看泰勒公式,发现它是在x0处求各阶导数,如何来理解这种操作?x0点的一阶导数f’(x0)是原来函数在x0这点的变化率,而二阶导数则是一阶导数在x0点处的变化率,同理n阶导数则是n-1阶导数在x0点的变化率。
回到前面说的用一个人模拟另外一个人的例子,要求模拟者在被模拟者的每一个时期微小变化一致,他的个头不是增加了,以及他的个头增加的速度(变化率)是不是也保持一致,进而这个身高改变速率也是否一致?还比如猎狗追击兔子,当兔子无论怎么曲线走形,无论是缓慢加速,还是突然加速,或者突然刹车(这都被称为变化率的变化率),猎狗始终都能和兔子保持一致。
回到泰勒公式来,那么问题来了,要这个代数多项式尽可能的精确准确无误的描绘出(逼近)原来函数的信息,怎么办呢?因为毕竟多项式和原来的函数肯定存在比较大的误差,
现在有两种方法可以做到:
一是,把要模拟的范围尽可能的压缩得小,也就是x0点处的范围尽可能的小,而这按照数学的表达就是要求x→x0,也就是Δx=|x-x0|<ε,取x0=0的时候则变为Δx=|x|<ε(一般至少取|x|<1或者|x|<<1表示绝对值x比1小很多)。这正是公式(1)局部泰勒公式所要做的事情,从公式(1)来看,仅仅只需要X0处的各阶导数存在,同时把被模拟的区间范围尽可能缩小(x→x0)即可,这也揭示了局部泰勒公式的使用条件。
来举例子e^x≈1+x ,这个式子是X0=0处对超越函数e^x进行模拟或者描述,由图像可知,x0=0处的时候等号左边的超越函数曲线和等号右边的直线完全相等,而在0的左右附近也非常接近,但是随着范围的扩大,则描绘得越来越分离了。如图
二是,增加多项式的项数,项数越多模拟范围扩大且越来越精确。而这正是区间上的泰勒公式(2)要做的事情,从公式(2)看来,x0<ξ<x (这里我们假定x>x0),而x0和x都是在某一个区间比如(a,b)里面变动的,当x0和x在区间(a,b)内跑遍所有的实数点时,那么显然ξ也跑遍了区间(a,b),这性质就要求f(x)在包含x和x0的区间内直到n+1阶可导。这就是两个公式的显著区别。
还是看上面的例子e^x≈1+x+x^2/2!+x^3/3!+ +x^4 /4! .随着项数的增加,等号左边的超越函数曲线和等号右边的代数多项式的曲线接近的范围越来越扩大,且都是以0为中心扩大范围的。如图

注意,这些描绘或者模拟还只是近似的,如何让这两条曲线从近似到精确呢?还是有两种方法,一是尽量缩小范围,乃至让这个范围趋于零,即公式(1)中要求的x→x0 ,二是无限的增加项数(从而公式(2)的余项为零),那么此时就能保证两条曲线完全重合。
题外话,除了泰勒公式是用一个幂函数的代数多项式去逼近超越函数外,还有勒让德多项式逼近,且勒让德多项式逼近的速度和精度更快更高。以更高的观点来看勒让德公式要求的空间为内积空间,而泰勒公式要求的空间为完备空间即可,,完备空间的要求比内积空间的要求低,所以各有优点。


IP属地:浙江1楼2024-04-20 14:25回复
    能否严格说一下“多项式项数越多模拟范围扩大结果越精确”?据我所知没有这样结论,并不能使模拟范围扩大。Taylor多项式本来就是局部结论,扩大到整体是很容易出错的。


    IP属地:北京来自Android客户端2楼2024-04-20 19:16
    收起回复
      阁下的泰勒展开固然可以完全描述解析函数,但假如我拿出y=e^(-1/x^2)在0处的各阶导数,阁下又该如何应对?


      IP属地:江苏来自Android客户端3楼2024-04-20 20:59
      收起回复
        就是个局部多项式近似罢了


        IP属地:四川来自Android客户端4楼2024-04-20 21:10
        收起回复
          看不懂+3


          IP属地:湖北来自Android客户端5楼2024-04-20 21:31
          回复
            对于公式(一)来说,适合做定性分析,比如比较阶的大小和求极限,,对于公式(二),一般用于定量计算,比如工程计算,误差估计。。。实际上电子计算器的输出结果有时候也是采用这种方法进行的,可以采用收敛比较快的级数进行近似计算。。。


            IP属地:浙江来自Android客户端6楼2024-04-20 21:39
            回复
              公式(一)除了计算极限外,还可以非常方便的解决类似这种问题。。。题目只告诉你在0处二阶可导(注意不是0的某邻域内可导,某点可导是单点性质,不能由此推出在这点的邻域内都可导,这和复变函数在某点解析,就能得到这点的邻域内都可导是不同的),那么用公式(一)即可。。。。但是如果题目告诉在x=0的某邻域内二阶可导,那么可直接使用一次罗必塔法则。


              IP属地:浙江来自Android客户端7楼2024-04-20 21:44
              回复
                利用编程来画曲线sinx,并且分别计算它的泰勒展开式的10阶,13阶,16阶,22阶,可以看出随着项数的增加,多项式拟合的范围扩大化,如图





                IP属地:浙江来自Android客户端9楼2024-04-20 22:13
                回复
                  要求f^(n)(m)是n!低阶无穷大,一般函数f(x)都满足这个条件。


                  IP属地:北京10楼2024-04-20 22:13
                  回复
                    大家可以用Matlab或者python编程自己观察多项式曲线和超越函数曲线的拟合动态变化,,很有意思。。。。今天不回复了


                    IP属地:浙江来自Android客户端11楼2024-04-20 22:17
                    收起回复
                      它和插值法有什么联系呢


                      IP属地:天津来自Android客户端12楼2024-04-21 00:01
                      收起回复
                        3


                        IP属地:上海来自Android客户端13楼2024-04-21 00:41
                        收起回复
                          多来点这样的贴


                          IP属地:湖北来自Android客户端14楼2024-04-21 01:52
                          回复
                            来一条光滑但不解析的取消


                            IP属地:海南来自Android客户端15楼2024-04-21 04:42
                            回复
                              其实如果不想深究原理的话使用积分余项就可以,那个是绝对精确的,


                              IP属地:陕西来自Android客户端16楼2024-04-21 11:39
                              收起回复