加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

大一小朋友注意!泰勒展式,学长眼中的泰勒展式!

(2015-01-26 10:19:41)
标签:

股票

大一小朋友注意!泰勒展式,学长眼中的泰勒展式!

 

(一些补充声明:1.本文适合理工科非数学系大一小朋友阅读。2.非学术贴,请当作低端科普娱乐贴阅读。) 以下为原文:


      最近被不少大一小朋友问到关于泰勒展式的问题。作为一名终日翘课在外游手好闲不务正业的学长,看见小朋友们学习如此勤奋刻苦,我实在是既欣慰又惭愧啊!恰逢今晚宅在自习室无所事事,我就把自己对泰勒级数的一些残留印象贴出来,给可爱的小朋友们做个参考吧~

      这几天我发现,很多小朋友在初学泰勒展式时,光顾着记公式、看证明,对泰勒展式的含义却没有理解透彻。这是不好的~

      泰勒展式的目的其实十分明确:在某一点附近,用多项式函数去逼近(近似代替)一个函数。为了近似效果着想,我们恨不得这个多项式函数在那一点的值、导数乃至n阶导数都与原函数相等。这样一来,泰勒展式那一长串的式子也就很好理解了:它刚好满足我们的近似要求,不信自己动手求求导试试。

      同样好理解的是,n取得越大,式子越长,近似效果也就越好。为了形象地说明这一过程,我们可以把n从小到大的一系列多项式函数画出来进行对比。下图是某函数在原点附近展开的图像(红色为该函数),n取1-5,x取0-1.  (p.s.顺便把这段图像的MATLAB代码放出来,考考小朋友们的编程能力。能猜到函数是什么吗?)

      代码:

                                    clear
                                    x=0:.001:1;
                                    y=1;

                                    hold on

                                    for i=1:5

                                    y=y+x.^i/factorial(i);

                                    plot(x,y);
                                    end
                                    plot(x,exp(x),'r');hold off

      图像:

      http://fmn.rrimg.com/fmn056/20111108/2235/b_large_PKPo_20c7000188a8126a.jpg

      可以看见,展开到3阶以上,即n>3时,多项式函数与原函数已经很贴近了。然而值得注意的是,泰勒展式只能在某点附近近似替代函数,是一种局部性质。当x取值太远,被忽略的余项就要发飙了。

       http://fmn.rrimg.com/fmn061/20111108/2235/b_large_pyLw_20d400018944126a.jpg

      当然,可以采用增大n的方式来暴力对抗余项误差:

      http://fmn.rrfmn.com/fmn058/20111108/2240/b_large_XJ2B_254f0001a2b61262.jpg

      上图取n=11,逼近效果又好起来了,但可以预见的是,当x继续增大,误差也会再次变大。   

      

      爱动脑筋的小朋友可能会问,有没有什么办法一劳永逸地解决误差问题?有,但是比较麻烦,那就是:把n取为无穷大。细心的小朋友会顿生疑窦,无穷多个数相加有意义吗?

      问得好。无穷个数作和,这正是[级数]研究的问题。因此,泰勒公式又称为泰勒级数。级数理论定义,无穷个数的和是一个有限数的话,便称级数“收敛”;无穷则叫“发散”。对于一列由无穷个函数相加构成的级数,若x取某值时,函数的和收敛,称级数在该点“点态收敛”;使函数项级数点态收敛的点构成级数的“收敛域”。级数理论告诉我们,幂函数级数(即n取无穷时的泰勒展式)满足一定条件时是存在收敛域的。至于条件是什么,小朋友们不要着急,今后总会学的~

      顺便提一句,如果只展开到x最低次方项,泰勒展式就成了微分公式。因此,泰勒展式也可以看作高级微分公式,或者微分公式的推广~

      有的小朋友可能会问:这么复杂的公式学了有什么用?别着急,不会让你白学的。事实上,翻开任何一本物理教材,你都会发现,泰勒公式几乎无处不在--好在大都只用求一两阶就够了。因此,(语重心长地)小朋友们一定要学好泰勒展式啊!

      现在我们看一下另一段代码。

                                            clear
                                            x=-pi:.001:pi;
                                            y=1/2;
                                            for i=1:10000
                                            y=y-2*sin((2*i-1)*x)/(2*i-1)/pi;
                                            end
                                            plot(x,y);     

      细心的小朋友会发现,这段代码跑完后产生的根本不是多项式函数!而是一堆乱七八糟的正弦函数!换句话说,这根本就不是泰勒级数!学长果然不学无术,居然犯这么低级的错误!

      此言差矣。其实上面的代码所构造的乃是另一种级数:大名鼎鼎的朱丽叶级数!开个玩笑,其实是[傅立叶级数]。傅立叶级数是另一种展开函数的方式,于19世纪初由法国数学家Fourier提出后华丽登场,直指Taylor级数的两大软肋:局部性质,以及对函数要求过于苛刻(要求函数n阶甚至无穷阶可导)。废话不多说,直接看效果。上面的代码试图逼近的函数为:

              http://fmn.rrimg.com/fmn065/20111108/2245/b_large_fVQJ_19bc00018cad1268.jpg

      这是十分常用的方波函数。而代码运行的结果为:

      http://fmn.rrimg.com/fmn056/20111108/2245/b_large_njFf_153b0001a390125f.jpg

      震惊吧!颤抖吧!无知的小朋友们!一堆正弦加起来竟然成了直线!这就是朱丽叶级数的魅力!什么?你不信?那好,我们来看一看叠加是如何进行的:

      http://fmn.rrimg.com/fmn063/20111108/2245/b_large_g2CT_111c0001a67b1260.jpg

                                                                  普通sin(x)

      取 i=1:2,即正弦+正弦:

      http://fmn.rrimg.com/fmn062/20111108/2250/b_large_y8KO_2b750001a3e2125e.jpg

                                                                       文艺sin(x)

      i=1:10,十个正弦函数:

      http://fmn.rrimg.com/fmn059/20111108/2250/b_large_WMxo_111c0001a6891260.jpg

                                                                  蝙蝠侠sin(x)

      500个:

      http://fmn.rrimg.com/fmn059/20111108/2250/b_large_I4YI_15420001a2b3125f.jpg

                                                                     二逼sin(x)

      再回头看看上面的代码,10000个正弦函数的叠加......信了吧?所以说,学长是不会欺骗小朋友的。

      细心的小朋友又会问了:那么朱丽叶级数有没有什么软肋?问得好。直接上图:

      http://fmn.rrimg.com/fmn059/20111108/2250/b_large_GbsG_15330001a325125f.jpg

      这是 i=1:50时模拟函数y=x的效果。细心的小朋友会发现,端点处的逼近效果十分不好,居然都翘起来了!这是否和泰勒级数一样,n取得不够大呢?不是。不信的话,下为 i=1:500的图像:

      http://fmn.rrimg.com/fmn063/20111108/2250/b_large_JNpQ_2b7b0001a49f125e.jpg

      两端仍然翘起来了!那么问题在哪儿呢?原来,这是基底函数的选取所造成的。Taylor级数取幂函数作为基底,自然会产生发散的问题;而Fourier级数选取正、余弦这两个周期函数做基底,当然会有周期性的问题了。Fourier级数优于Taylor级数的一点在于,它可以在任意给定的区间上,整体地逼近某函数,而不会出现离某点越远误差越大的现象。而在区间外呢?这个时候,函数的周期性就要出来作祟了。把x的范围扩大一点,问题就明白了:

      http://fmn.rrimg.com/fmn062/20111108/2250/b_large_gguS_11020001a5041261.jpg

      细心的小朋友马上有了新问题:图像中居然有竖着的线!平行于y轴!那还能叫函数吗?不着急。随着 i 的增大,图像上的那条线确实会逼近竖直,但这也没关系。看图说话:

      http://fmn.rrimg.com/fmn063/20111108/2250/b_large_xXlS_20cf00018a7d126a.jpg

      这是把500次叠加过程中每次叠加的结果全画出来的图像。可以看见,每条曲线在经过周期边界时,穿过的是同一点。不难推测,500次叠加以后的所有曲线,也会过相同的点,并且在该点附近,图像会越来越趋近竖直。聪明的小朋友会猜:如果到了最后,函数太竖直了,以至于仅在该点取该值,在该点左右取上下两条直线上的值,变成分段函数了,不就自然而然地避免了图像竖直的问题了吗?真聪明。事实上,函数确实是如此取值的。于是我们又得到了一个令人震惊的结论:无穷个连续函数相加,和函数居然不连续了!

      下图可以更清楚地看出图像是如何逼近竖直的:

      http://fmn.rrimg.com/fmn056/20111108/2255/b_large_6LUP_2b710001a537125e.jpg

      同时可以证明,翘起的那一点,恰好是函数不连续点左右极限的平均值。这也是Fourier级数的一个重要性质。

      那么Fourier级数又有什么用?这个可就说不完了。小朋友们只要记住:Fourier级数的作用,是Taylor级数的很多很多倍!

     

      自习室赶人了,就到此为止。最后,祝所有可爱的小朋友们考试超水平发挥!拿出应有的和不应有的实力!撒花~~

 

来源网络:梁爽 Cool

 

http://www.changweibo.com/ueditor/php/upload/20150126/14222387234197.jpg


http://blog.renren.com/blog/312743139/777040157

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有