书签 分享 收藏 举报 版权申诉 / 21
上传文档赚钱

类型计算方法-数值积分课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4293171
  • 上传时间:2022-11-26
  • 格式:PPT
  • 页数:21
  • 大小:3.04MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《计算方法-数值积分课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    计算方法 数值 积分 课件
    资源描述:

    1、数值积分数值积分小组成员:引言引言 在数学分析中,当f(x)在区间a,b上连续且具有原函数F(x)时,我们往往采用Newton-Leibniz公式来求积分:然而,随着学习的深化,发现牛顿-莱布尼兹公式存 在的很大的局限性 )()()()(aFbFabxFdxxfabNewton-Leibniz公式的局限性公式的局限性v 对大多数f(x)而言,找原函数困难,即使存在原函数也不能用初等函数表示v 原函数表达式过于复杂v 被积函数由表格给出,没有解析形式,也无法使用Newton-Leibniz公式来求积分23sin,1.xxexx32223xx数值积分数值积分v 为了避免上述积分过程中存在的问题,我

    2、们可以采用数值积分的方法来求解,这样就避免了原函数的求解过程,同时对于由测量或计算得到的数据表表示的f(x)也可以求解v主要有五种方法,对应五种计算公式:v梯形法 中值法 v辛普森积分法 v高斯积分法 高斯积分法-三点公式梯形公式梯形公式3.532.521.510.5-0.5-1-1.5-2-2.5-0.50.511.522.533.5 x0 x0+x原理介绍:用一个梯形来近似代替每个子区间的面积,如下图所示,用图中阴影部分梯形面积替代曲边梯形的面积,积分过程如下图所示:)3()0()0(21)(00 xOxxxfxfdxxfxxxI梯形公式梯形公式v 而对于整个区间x0,x1,可通过累加求和

    3、得到,其中区间x0,x1被分为n等份,每个区间长度为 ,因此区间x0,x1上的积分可通过下述式子得到xdxxfxixxixdxxfxx)()1(00)(10)1(0()0(2xixfxixfx)1()1(0(2.)2)0(2)0(2)0(2xfxnxfxxfxxfxfx梯形公式算法梯形公式算法v for(int i=0;i20;i+)v varea1=0;vx=PI/intervalsi;vfor(int j=0;jintervalsi;j+)vvarea1=area1+0.5*(f(j*x)+f(j*x+x)*x;vv double e=(area1-2)/area2;varea2=area

    4、1-2;vcoutsetiosflags(ios:left)setw(6)intervalsi setw(7)intervalsi+1 setw(20)area1-2 setw(6)eendl;v 辛普森积分法辛普森积分法x0 x0+x0+xx23.532.521.510.5-0.5-1-1.5-2-2.5-0.50.511.522.533.5 原理介绍:把区间x0,x1分为2n等分,n个区间,在长度为 的区间上 进行泰勒展开,可得区间x0,x0+上的积分形式如下所示:x2x2)5()20()0(4)0(3)(200 xOxxfxxfxfxdxxfxxx辛普森积分法辛普森积分法3.532.52

    5、1.510.5-0.5-1-1.5-2-2.5-0.50.511.522.533.5辛普森求积公式的几何意义是用一条过三点的抛物线(如上图中三点)近似代替被积函数的曲线,从而用一个二次抛物线所围成的容易计算的曲边梯形面积(图中阴影部分)来近似代替原来的曲边梯形的面积.x0 x0+x0+xx2辛普森积分法辛普森积分法v 通过对n个区间按上述公式累加,可得区间x0,x1上的积分形式为 )22(0()12(0(4)20(3)(10 xixfxixfxixfxdxxfxx)1()12(0(4.)20(2)0(4)0(3xfxnxfxxfxxfxfx注意:因为该公式是把区间x0,x1划分为2n等份,n个

    6、区间,因此在用循环求积分时,要注意其上下限辛普森算法代码辛普森算法代码v for(int i=0;i20;i+)v v area1=0;v x=PI/intervalsi;v for(int j=0;jintervalsi;j+)v varea1=area1+x*(f(j*x)+4*f(j*x+0.5*x)+f(j*x+x)/6;v v double e=(area1-2)/area2;v area2=area1-2;v coutsetiosflags(ios:left)setprecision(12)setw(6)v intervalsi setw(7)intervalsi*2+1 setw

    7、(20)area1-2 setw(6)eendl;v 高斯积分高斯积分v 通过待定系数法及泰勒展开找到两个相对精确的评估点高斯积分高斯积分v for(i=0;i10;i+)v v s=0;v x=(x1-x2)/intervalsi;v for(j=0;jintervalsi;j+)v s+=function(x1+(0.5-sqrt(3.0)/6)*x+j*x)+function(x1+(0.5+sqrt(3.0)/6)*x+j*x);v s=s*x/2;v error1=s-2;v Error_Ratio=error1/error2;v error2=error1;v coutsetios

    8、flags(ios:left)setw(6)intervalsiv setw(7)intervalsi*2 v setw(15)error1 setw(10)Error_Ratioendl;v 算法特色算法特色v 代码简洁,用一个双重循环,两个主要变量实现了计算过程,在空间代码简洁,用一个双重循环,两个主要变量实现了计算过程,在空间和时间上做到了最优化。和时间上做到了最优化。for(int i=0;i20;i+)area1=0;x=PI/intervalsi;for(int j=0;jintervalsi;j+)area1=area1+x*(f(j*x)+4*f(j*x+0.5*x)+f(j*

    9、x+x)/6;double e=(area1-2)/area2;area2=area1-2;算法特色算法特色v 采用C+中类的思想用虚基类继承的方式实现五种不同的积分方法虚基类:虚基类:class Integrationpublic:virtual double integra()=0;Integration()x1=0;x2=3.1415926;Integration(double t1,double t2)x1=t1;x2=t2;protected:double x1,x2;double f(double x);/每个类只能对一每个类只能对一个函数积分个函数积分;继承的子类class Tr

    10、apezium_Integration:public Integrationpublic:Trapezium_Integration(double t1,double t2)x1=t1;x2=t2;double integra();vdouble Trapezium_Integration:integra()vvint i,j=0,intervals=1;vdouble xx,value_integ20,x11;vwhile(intervals=524288)vvx11=x1,value_integj=0;vxx=(x2-x1)/intervals;vvalue_integj=value_in

    11、tegj+f(x11);/利用公式计算利用公式计算vfor(i=1;iintervals;i+)vvx11=x11+xx;vvalue_integj=value_integj+f(x11)*2;vv/x11=x11+xx;vvalue_integj=value_integj+f(x2);vvalue_integj=value_integj*xx/2;/最终积分值最终积分值vj+;vintervals=intervals*2;vvdouble e20;vfor(i=0;i20;i+)vei=value_integi-2;vcout.precision(15);vfor(j=0;j20;j+)vcoutvalue_integj ej ej+1/ejendl;vreturn 0;v算法特色算法特色v 把所有积分方法放在一个.cpp文件中,以菜单形式进行选择算法特色算法特色v 结果输出清晰,且精度高,能保留到小数点后13位(中值法)算法特色算法特色将各方法的误差一次性输出,能直观的看出各积分方法的误差大小并进行比较总结总结 通过本章的学习,我们更深刻的理解了数值积分的原理及实现方法,并且在小组讨论中,学习到了如何实现代码的简洁、减少变量的定义以及如何实现代码时间与空间的优化等,大家都有所收益

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:计算方法-数值积分课件.ppt
    链接地址:https://www.163wenku.com/p-4293171.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库