欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算方法-数值积分.ppt

    • 资源ID:5838139       资源大小:3.04MB        全文页数:21页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算方法-数值积分.ppt

    数值积分,小组成员:,引言,在数学分析中,当f(x)在区间a,b上连续且具有原函数F(x)时,我们往往采用Newton-Leibniz公式来求积分:然而,随着学习的深化,发现牛顿-莱布尼兹公式存 在的很大的局限性,Newton-Leibniz公式的局限性,对大多数f(x)而言,找原函数困难,即使存在原函数也不能用初等函数表示原函数表达式过于复杂被积函数由表格给出,没有解析形式,也无法使用Newton-Leibniz公式来求积分,数值积分,为了避免上述积分过程中存在的问题,我们可以采用数值积分的方法来求解,这样就避免了原函数的求解过程,同时对于由测量或计算得到的数据表表示的f(x)也可以求解主要有五种方法,对应五种计算公式:梯形法 中值法 辛普森积分法 高斯积分法 高斯积分法-三点公式,梯形公式,x0 x0+,原理介绍:用一个梯形来近似代替每个子区间的面积,如下图所示,用图中阴影部分梯形面积替代曲边梯形的面积,积分过程如下图所示:,梯形公式,而对于整个区间x0,x1,可通过累加求和得到,其中区间x0,x1被分为n等份,每个区间长度为,因此区间x0,x1上的积分可通过下述式子得到,梯形公式算法,for(int i=0;i20;i+)area1=0;x=PI/intervalsi;for(int j=0;jintervalsi;j+)area1=area1+0.5*(f(j*x)+f(j*x+x)*x;double e=(area1-2)/area2;area2=area1-2;coutsetiosflags(ios:left)setw(6)intervalsi setw(7)intervalsi+1 setw(20)area1-2 setw(6)eendl;,辛普森积分法,x0 x0+x0+,原理介绍:把区间x0,x1分为2n等分,n个区间,在长度为 的区间上 进行泰勒展开,可得区间x0,x0+上的积分形式如下所示:,辛普森积分法,辛普森求积公式的几何意义是用一条过三点的抛物线(如上图中三点)近似代替被积函数的曲线,从而用一个二次抛物线所围成的容易计算的曲边梯形面积(图中阴影部分)来近似代替原来的曲边梯形的面积.,x0 x0+x0+,辛普森积分法,通过对n个区间按上述公式累加,可得区间x0,x1上的积分形式为,注意:因为该公式是把区间x0,x1划分为2n等份,n个区间,因此在用循环求积分时,要注意其上下限,辛普森算法代码,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*x+x)/6;double e=(area1-2)/area2;area2=area1-2;coutsetiosflags(ios:left)setprecision(12)setw(6)intervalsi setw(7)intervalsi*2+1 setw(20)area1-2 setw(6)eendl;,高斯积分,通过待定系数法及泰勒展开找到两个相对精确的评估点,高斯积分,for(i=0;i10;i+)s=0;x=(x1-x2)/intervalsi;for(j=0;jintervalsi;j+)s+=function(x1+(0.5-sqrt(3.0)/6)*x+j*x)+function(x1+(0.5+sqrt(3.0)/6)*x+j*x);s=s*x/2;error1=s-2;Error_Ratio=error1/error2;error2=error1;coutsetiosflags(ios:left)setw(6)intervalsi setw(7)intervalsi*2 setw(15)error1 setw(10)Error_Ratioendl;,算法特色,代码简洁,用一个双重循环,两个主要变量实现了计算过程,在空间和时间上做到了最优化。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*x+x)/6;double e=(area1-2)/area2;area2=area1-2;,算法特色,采用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 Trapezium_Integration:public Integrationpublic:Trapezium_Integration(double t1,double t2)x1=t1;x2=t2;double integra();,double Trapezium_Integration:integra()int i,j=0,intervals=1;double xx,value_integ20,x11;while(intervals=524288)x11=x1,value_integj=0;xx=(x2-x1)/intervals;value_integj=value_integj+f(x11);/利用公式计算for(i=1;iintervals;i+)x11=x11+xx;value_integj=value_integj+f(x11)*2;/x11=x11+xx;value_integj=value_integj+f(x2);value_integj=value_integj*xx/2;/最终积分值j+;intervals=intervals*2;double e20;for(i=0;i20;i+)ei=value_integi-2;cout.precision(15);for(j=0;j20;j+)coutvalue_integj ej ej+1/ejendl;return 0;,算法特色,把所有积分方法放在一个.cpp文件中,以菜单形式进行选择,算法特色,结果输出清晰,且精度高,能保留到小数点后13位(中值法),算法特色,将各方法的误差一次性输出,能直观的看出各积分方法的误差大小并进行比较,总结,通过本章的学习,我们更深刻的理解了数值积分的原理及实现方法,并且在小组讨论中,学习到了如何实现代码的简洁、减少变量的定义以及如何实现代码时间与空间的优化等,大家都有所收益,Thank You!,

    注意事项

    本文(计算方法-数值积分.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开