数值分析龙贝格实验报告(共4页).doc
《数值分析龙贝格实验报告(共4页).doc》由会员分享,可在线阅读,更多相关《数值分析龙贝格实验报告(共4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验三 龙贝格方法【实验类型】 验证性【实验学时】 2学时【实验内容】1.理解龙贝格方法的基本思路2.用龙贝格方法设计算法,编程求解一个数值积分的问题。【实验前的预备知识】1计算机基础知识2熟悉编程基本思想3熟悉常见数学函数;【实验方法或步骤】龙贝格方法的基本思路龙贝格方法是在积分区间逐次二分的过程中,通过对梯形之值进行加速处理,从而获得高精度的积分值。1 龙贝格方法的算法步骤1 准备初值 和,用梯形计算公式计算出积分近似值 步骤2 按区间逐次分半计算梯形公式的积分近似值令,计算,步骤3 按下面的公式积分梯形公式:辛普生公式:龙贝格公式:步骤4 精度控制当,(为精度)
2、时,终止计算,并取为近似值否则将步长折半,转步骤2。 实验程序#include#include# define Precision 0.00001/积分精度要求# define e 2.#define MAXRepeat 10 /最大允许重复double function(double x)/被积函数 double s; s=2*pow(e,-x)/sqrt(3.); return s;double Romberg(double a,double b,double f(double x) int m,n,k; double yMAXRepeat,h,ep,p,xk,s,q; h=b-a; y0
3、=h*(f(a)+f(b)/2.0;/计算T1(h)=1/2(b-a)(f(a)+f(b); m=1; n=1; ep=Precision+1; while(ep=Precision)&(mMAXRepeat) p=0.0; for(k=0;kn;k+) xk=a+(k+0.5)*h; / n-1 p=p+f(xk); /计算f(xk+h/2),T / k=0 p=(y0+h*p)/2.0; /Tm(h/2),变步长梯形求积公式 s=1.0; for(k=1;k=m;k+) s=4.0*s;/ pow(4,m) q=(s*p-yk-1)/(s-1.0);/pow(4,m)Tm(h/2)-Tm(h)/pow(4,m)-1,2m阶牛顿柯斯特公式,即龙贝格公式 yk-1=p; p=q; ep=fabs(q-ym-1);/前后两步计算结果比较求精度 m=m+1; ym-1=q; n=n+n; / 2 4 8 16 h=h/2.0;/二倍分割区间 return q;main() double a,b,Result; cout请输入积分下限:a; cout请输入积分上限:b; Result=Romberg( a, b, function); cout龙贝格积分结果:Resultendl; return 0;专心-专注-专业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 龙贝格 实验 报告
限制150内