分享

理解微积分真谛:泰勒展开——多项式仿真系统

 钺YUE 2019-01-19

微积分其实很简单!

只有理解,才会应用!

本专栏将和您一起,从最通俗易懂的角度,用最易于理解的方法,真正内化吸收微积分的核心概念与算法,帮您轻松掌握与应用!

精要复习

上节课我们讲了导数与微分。

导数的“导”,可以理解为“方向”之意。

方向决定了函数的运行,所以“导数”是函数的原因,函数是“导数”的结果。

数学即哲学,世界是存在因果关系的,因果关系即为导数与原函数的关系

导数的MATLAB求解,很简单:

y=diff(fun,x) y=diff(fun,x,n)

最后介绍了导数的亲兄弟——微分。

微分是增量的线性主部。

先思考一个问题

计算器或计算机怎么计算“正弦函数”?

总不能查表吧?即使有表,那请问表又是怎么得到的呢

这个问题的本质是,sin函数是人为定义的一个三角函数,它表面上并由“可直接计算”的函数组成,sin这个表示是一个坚硬的外壳,那怎么办?

泰勒展开公式的诞生,完美解决了这个问题,它把这一类函数的坚硬外壳彻底击碎,让所有看起来无从下手的函数,全都变成了——多项式。

泰勒展开公式初探

先看看泰勒公式长什么样吧:

形式很多,这种容易记忆和理解

观察公式形式我们发现:

  • 一个函数,无论它是什么“壳”,都可以分解为多项式的形式;
  • 分解有个基础位置,就是x0的位置;
  • 多项式有多少项呢?无穷多项,项越多,就越接近原函数;
  • 每一项的作用,要被n!削弱,所以n越大,被削弱得就越厉害。

如果是第一次学,看不太懂很正常,先不急理解上面的结论,先看下面这个实际的例子吧——

泰勒展开公式就是“多项式仿真”

还是上面的问题,怎么把sin(x)化成一个多项式的形式?

咱们在x0=0的位置按泰勒展开分解,可以自己动笔算算,结果为:

计算机就是这样计算正弦函数的

为什么没有n=2 4 6这些项?动笔的同学肯定知道,因为这些项的导数为0,消去了。

硬壳已击碎,下面咱们利用MATLAB画画,直观感受一下。

先只取第一项,先比较一下 sin(x) 与 x:

发现其实在0点附近,两个函数还是很像的,由其两者在0点的斜率几乎相同。

这也是为什么老师教我们,当x很小时,sin(x)可以用x的值去代替

继续再加一项:

哎呀,重叠的区域更大了。其实,当项数越来越多,两个函数就越来越像!

再加一项:

再加一项:

越多项,越像

文章最后会附上MATLAB源码,感兴趣可以自己试一试。

所以说,泰勒展开公式,是对展开点附近的函数,进行的一个“多项式仿真”

仿真,就一定有误差,泰勒公式的仿真误差怎么样呢?

可控的多项式仿真误差

泰勒公式有无穷多项,但我们不可能计算出无穷多项,所以泰勒公式的另一种表达:

我们把从n+1往后所有的项给打包了,称为R,课本上叫它“佩亚诺型余项”,说实话时间一长我也记不住这个外国名,所以我一直习惯叫它“误差项”,还易于理解含义。

意思就是说,如果我只计算到n阶导数项,那么误差就是Rn了。

更绝的是,这个Rn被证明是x^n的高阶无穷小,关于高阶无穷小的概念我们以后会讲,这里理解为Rn起到的作用,一定比前面那些项的作用小,即可。

要接受误差,因为它无处不在

所以,我们要仿真一个“带硬壳”的函数只要使用泰勒展开取有限几项并保证误差在可接受的范围内,不就行了么?

所以说,泰勒展开公式是一个误差可控的多项式仿真

直观理解泰勒展开

首先,我们先尝试理解最基本的2项多项式:

几何表达:

即,x 处的函数值,约等于 x0 处的函数值,再加上由导数引起的变化量

上节课我们理解了,导数即原因,所以我们可以这样理解上式:

对未来的仿真计算

结果=现状+原因x时间。

由于原因(导数)是当前的原因,所以仿真预测的结果肯定不完全准确,不过,只要时间足够短,仿真结果就足够准确啦

这也印象了我们上节的理解,“导数”是函数的原因,函数是“导数”的结果。

直观理解多项泰勒展开

还不止如此哦,泰勒展开还有好多项呢!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多