美文网首页
定积分的算法

定积分的算法

作者: PrivateEye_zzy | 来源:发表于2018-04-14 17:32 被阅读0次

    本章涉及知识点

    1、求解定积分存在的问题

    2、研究案例之f(x)=sin(x)/x的定积分和广义积分

    3、纯数学推导计算f(x)=sin(x)/x的广义积分

    4、复化矩形算法

    5、复化梯形算法

    6、复化抛物线算法

    7、三种定积分复化近似算法的编程实现

    8、加入蒙特卡洛算法和高斯求积算法

    9、不同近似算法计算f(x)=sin(x)/x的定积分结果比较

    一、求解定积分存在的问题

    由微积分我们知道,如果函数f(x)的原函数为F(x),则函数f(x)在闭区间[a,b]的定积分可以由牛顿-莱布尼兹公式计算出来

    牛顿-莱布尼兹公式

    上式也称之为微积分的基本公式,它表明了:一个连续函数在区间[a,b]上的定积分等于它的任意一个原函数在区间[a,b]上的增量

    但是实际问题中常常会遇到如下一些情况:

    (1)、f(x)的表达式非常复杂,导致推导原函数F(x)变得更加困难

    (2)、f(x)的原函数F(x)根本不能用初等函数来表示或者F(x)根本推导不出来

    (3)、无法知道f(x)的精确表达式,只能以实验的方法观测出其若干个点对应的值

    对于上述的情况,要计算f(x)的定积分就无法使用牛顿-莱布尼兹公式计算,例如f(x)=sin(x)/x就属于上述第二种情况,这时候我们就需要从定积分的定义原理出发,通过数值算法来计算其近似值

    二、研究案例之f(x)=sin(x)/x的定积分和广义积分

    来研究以下案例

    目标函数f(x)

    需要计算f(x)的定积分或者广义积分

    案例积分

    在数学物理的研究方法中,这个函数已经多次出现过,求解这个积分的算法也非常巧妙,而每次解法的思路,总是精妙又差别很大,可以说是涵盖了物理方法中很大一部分内容,比如复变函数、傅里叶变换以及拉普拉斯变换等的数学知识,这真是一个有趣的积分

    显然,f(x)有精确的表达式,可是它的原函数F(x)的推导却非常困难,因为F(x)无法用初等函数来表示,下面我们首先用纯数学方法来推导f(x)的广义积分

    三、纯数学推导计算f(x)=sin(x)/x的广义积分

    原广义积分可以写为

    案例积分

    计算一边的积分即可,为此我们模拟拉普拉斯变换的算法思想,构造出一个函数F(b),并顺利引入指数函数e来替换拉普拉斯变化里的虚数

    构造新函数F(b)

    显然,当b=0时

    F(0)即为原广义积分

    故我们只需要推导出F(b)的表达式即可,下面对F(b)求一阶导数(注意因变量是b,不是x)

    F(b)的导数表达式-1

    下面我们需要推导上式积分,这里需要使用一次分部积分算法

    一次分部积分算法

    我们对结果再使用一次分部积分算法

    二次分部积分算法

    通过两次分部积分算法,我们得出

    二次部分积分结果-1

    合并左右相同的积分项,可以解出

    二次部分积分结果-2

    带入F(b)的导数表达式

    F(b)的导数表达式-2

    至此我们推导出了F(b)的导数表达式,为了推导F(b)的表达式,我们对其导数进行一次不定积分计算

    对导数进行不定积分

    显然上式被积函数的原函数可以表示为反正切初等函数,即

    F(b)的表达式

    至此,我们推导出了构造函数F(b)的表达式

    又因为:

    F(b)的极限

    则可以计算出常数C

    F(b)的常数C

    由之前的分析

    F(0)即为原广义积分

    带入F(0)即可计算出f(x)的广义积分

    f(x)的广义积分

    可以看到,纯数学的解法思路需要构造新函数,求导,两次分部积分算法和求不定积分的原函数来表示求解的定积分,而我们的计算机是不会自己推理这一系列数学推导的

    四、复化矩形算法

    从纯数学推导f(x)的定积分的算法中,显然不适合计算机,为此我们需要从定积分的原理出发

    因为f(x)在区间[a,b]上连续可导,我们将区间[a,b]进行n等分,得到一系列的分点序列

    区间分点序列

    而每一个小区间的长度为

    区间长度

    而对于任意确定的正整数n,有

    定积分的近似计算

    f(x)的函数值

    则定积分的近似计算可以表示为

    复化矩形算法

    上式就是复化矩形的算法,其几何意义为:用窄条矩形的面积作为窄条曲边梯形的面积的近似值,而整体上运用了台阶形的面积来作为曲边梯形面积的近似值

    五、复化梯形算法

    同理,复化梯形算法的几何意义为:将曲线f(x)上的一小段弧度用直线代替,也就是以直代取的思想,将窄条曲边梯形用窄条梯形近似替代

    复化梯形形算法

    六、复化抛物线算法

    同理,复化抛物线算法的几何意义为:将曲线f(x)上的两个小弧度用过这三个点的抛物线y=px^2+qx+r来代替

    由Lagrange抛物线插值算法,我们用n=3的多项式来逼近任意一段抛物线

    Lagrange二次插值

    则f(x)的定积分可以推导为

    复化抛物线算法

    至此,我们从定积分的原理出发,得到了3种近似计算定积分的算法,而计算机非常适合计算这些近似算法

    七、三种定积分复化近似算法的编程实现

    我们将上述近似算法代码化

    复化矩形算法 复化梯形算法 复化抛物线算法

    八、加入蒙特卡洛算法

    为了案例演示结果的比较,下面我们也加入蒙特卡洛算法来模拟计算定积分

    蒙特卡洛算法

    九、不同近似算法计算f(x)=sin(x)/x的定积分结果比较

    我们演示在[0,pi]区间内,不同算法计算f(x)=sin(x)/x的定积分结果为

    不同算法计算f(x)=sin(x)/x的定积分结果

    可以看到复化梯形和抛物线算法计算结果的精度非常高

    案例代码见:定积分的算法

    相关文章

      网友评论

          本文标题:定积分的算法

          本文链接:https://www.haomeiwen.com/subject/mgtlkftx.html