变步长梯形积分算法求函数定积分

上传人:wu****ei 文档编号:245319292 上传时间:2024-10-08 格式:PPT 页数:17 大小:339.99KB
返回 下载 相关 举报
变步长梯形积分算法求函数定积分_第1页
第1页 / 共17页
变步长梯形积分算法求函数定积分_第2页
第2页 / 共17页
变步长梯形积分算法求函数定积分_第3页
第3页 / 共17页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,*,纯虚函数和抽象类的应用,变步长梯形积分算法求定积分,在积分计算中,通常将积分区间分成若干个小区间,在每个小区间上采用低阶求积公式,然后把所有小区间上的计算结果加起来得到整个区间上的求积公式,这就是复化求积公式的基本思想。常用的复化求积公式有复化梯形公式和复化,辛普森,公式。,复化求积方法对于提高计算精度是行之有效的方法,但复化公式的一个主要缺点在于要先估计出步长。若步长太大,则难以保证计算精度,若步长太小,则计算量太大,并且积累误差也会增大。在实际计算中通常采用变步长的方法,即把步长逐次分半,直至达到某种精度为止。,变步长梯形求积法,变步长复化求积法的基本思想是在求积过程中,通过对计算结果精度的不断估计,逐步改变步长(逐次分半),直至满足精度要求为止。即按照给定的精度实现步长的自动选取。,变步长的梯形公式,设将积分区间,a,b,n,等分,即分成,n,个子区间,一共有,n+1,个节点,即,x=a+kh,k=0,1,,,n,,步长 。对于某个子区间,利用梯形公式计算积分近似值有,对整个区间,a,b,有,将子区间 再二等份,取其中点,作新节点,此时区间数增加了一倍为,2n,对某个子区间,利用复化梯形公式计算其积分近似值,。,对整个区间,a,b,有,比较 和 有,当把积分区间分成,n,等份,用复化梯形,公式计算积分,I,的近似值 时,截断误差为,若把区间再分半为,2n,等份,计算出定积分,的近似值 ,则截断误差为,当 在区间,a,b,上变化不大时,有,所以,可见,当步长二分后误差将减至,将,上式移项整理,可得验后误差估计式,上式说明,只要二等份前后两个积分值,和 相当接近,就可以保证计算结果,的误差很小,使 接近于积分值,I,。,(,1,)变步长的梯形求积法的计算步骤,变步长梯形求积法。它是以梯形求积公式为基础,逐步减少步长,,按如下递推公式求二分后的梯形值,其中,T,n,和,T,2n,分别代表二等分前后的积分值,如果,(,为给定的误差限,),则,T,2n,作为积分的近似值,否则继续进行二等分,即,转 再计算,直到满足所要求的精度为止,最终取二分后的积分值,T,2n,作为所求的结果,变步长的梯形求积算法实现,变步长梯形公式的流程图,为了保证算法对任意函数,f(x),都可以使用,则需要定义一个抽象类,F,,通过对他的派生,具体实现不同的函数,通过对“,(),”运算符的重载完成函数的实现,class F,/*,抽象类,F,的声明,这是一个被积分函数类,需要用不同的函数来覆盖实现不同函数的积分,*/,public:virtual double operator()(double x)const=0;,/,用纯虚函数重载运算符,();,类设计,抽象类,为了保证算法对任意积分方法都可以使用,则需要定义一个抽象类,Integ,,通过对他的派生,具体实现不同的积分方法,通过对“,(),”的重载,完成对不同积分方法的实现,class Integ,/,总的积分类,是抽象类,需要不同的积分的方法来覆盖,public:virtual double operator()(double a,double b,double eps)const=0;,类设计,抽象类,函数,f(x),的实现,需要继承,F,类,并且实现其中的虚函数,即对“,(),”的重载,class Fun:public F/,函数,log(1+x)/(1+x2)public:double operator()(double x)const,/,虚函数的实现,而且是常成员函数(不能更新对象的数据成员),return log(1.0+x)/(1.0+x*x);,类设计,派生类,积分函数的实现,需要继承,Integ,类,并且实现其中的虚函数,即对“,(),”的重载,class Trapz:public Integ,/,这就是用变步长梯形求积公式来覆盖积分类的。,public:Trapz(const F,/,构造函数,由于有常类型数据,所以要以参数列表的形式对其赋值,double operator()(double a,double b,double eps)const;,/,对函数,f,的积分公式,private:const F /F,类对象的指针,;,类设计,派生类,类设计,派生类,积分函数的实现,double Trapz:operator()(double a,double b,double eps)constint done(0);/,就是一个整数,int n;double h,Tn,T2n;n=1;h=b-a;Tn=h*(f(a)+f(b)/2.0;/n=1,时候的积分值,cout n Tn endl;return T2n;,while(!done)double temp(0.0);for(int k=0;k n;k+)/,对,n,份进行求和,double x=a+(k+0.5)*h;temp+=f(x);T2n=(Tn+h*temp)/2.0;cout 2*n T2n endl;if(fabs(T2n-Tn)eps)done=1;else Tn=T2n;n*=2;h/=2;,#include#include#include Trapzint.husing namespace std;,int main()Fun f;Trapz trapz1(f);Trapz trapz2(f2);cout TRAPZ Integral:setprecision(7)trapz1(0,2,1e-7)endl;,主函数,用变步长梯形求积法计算定积分,用变步长梯形求积法计算函数,作业,与函数 所围成图象的面积,题目,1,做在作业本上,题目二下周二上机完成后上传到,FTP,按以上原理,每次积分将步长降为,1/3h,变步长梯形积分是龙贝格(,Romberg,)求积法的引理,查找相关资料完成龙贝格求积法,选做题,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!