pop_heap函数怎么用_生成函数——大杀器:泰勒展开

最近啊,这个有几个同学啊就问我,生成函数方面的知识,这不,现在也没啥事,于是就准备写篇生成函数方面的文章,供大家参考参考.

首先呢,生成函数这个概念还是相当好理解的,简单来讲,就是用多项式函数来近似计算我们的原函数嘛,比如sin, cos之类的,这个在计算机中应用相当广泛而且重要.

不过呢,这概念好理解,就是这生成函数怎么来的呢?

很多都一上来,就给你sin的级数展开:

,这不,换谁谁蒙圈嘛. 我以前刚学c的时候有道题就这样,给你sin的级数展开,让自行实现sin. 当然啊,这编码实现是相当简单的,但那时候我就死活不明白,也好奇,这究竟是怎么来的呢?

那么呢,接下来我就给同学们好好讲讲,这生成函数怎么来的

我会尽量地讲的通俗易懂,各位大可放心,小学二年级水平绝对没问题.

导数都学过吧?先给各位复习下,预预热.

导数感性地讲,就是函数在某点上的瞬时变化率,也就是描述这函数变化快慢的,在几何意义上,反应出来的也就是该函数曲线在某点切线的斜率.

那么呢,这是我们的导数定义式:

然后呢,我们复习一下,

的导数怎么计算来着?
,这里a为任意实数. 这个相当好证,用隐函数求下导就解决了,当然呢,我们这里只需要a为整数的情况,可以使用二项式定理,代回到我们的导数定义式中来证明,这个读者可以自己想一想,我比较懒就不写过程了.

然后呢,二阶导就是导数的导数,三阶导就是导数的导数的导数...

我们可以得到

阶导计算公式:
这个公式我们稍后会用到

好,接下来是泰勒展开.

为了方便叙述,我们称要用多项式函数近似的函数为

,称近似的多项式函数为

首先泰勒展开的核心啊,就是让我们的

,在某个点
上:

那么的话,首先我们为了方便考虑,我们先就推导

的情况时我们的
的计算公式

那么的话,

处的
阶导的值的计算公式为:

又因为

所以的话我们可以得到:

呢?因为
所以

当然啊,其实直接用我们上面的那个

公式也是正确的,因为一个函数的零阶导就是它自己,

既然我们都求出了每一个系数的值和常数项的值,我们自然也就得到了在0处的

的泰勒展开
,这又称为麦克劳林级数:

那么的话,在是任意处展开的该这么办呢?

其实啊,我们只要将我们现在的公式稍微改动一下就好了,我们是不是要计算某个函数在任意处

的展开?我们是不是只要给函数左右平移一下,给
点移动到
点展开然后再将结果移动回
即可对吧.

那么的话先做第一步平移操作,得到没有平移回去的

那么的话我们还需要将它左移(右移)回到

处,所以说我们得到:

由此,我们就得到了我们的最终结果

这里啊,我们可以实操一下,来尝试计算一下

在0点泰勒展开吧!

(不知道三角函数导数怎么计算的可以跳过)

可以打一下表:

可以看到啊,我们的值是循环出现的,是0, 1, 0, -1循环交替出现,那么的话就容易得到

的泰勒展开了:

恍然大悟的感觉有没有!有没有!是不是解了多年心中疑惑?

那接着我们再来看一下,取前三位

观察一下图像:

2aee6eb3d4c5f79c32cd64c5c241809d.png

可以发现啊,在0附近的值和sinx是相当贴合的啊,所以我们这个近似可以说是相当成功的.

[完]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值