Romberg求积法

Romberg求积法

ID:67635909

大小:188.00 KB

页数:17页

时间:2021-09-15

Romberg求积法_第1页
Romberg求积法_第2页
Romberg求积法_第3页
Romberg求积法_第4页
Romberg求积法_第5页
Romberg求积法_第6页
Romberg求积法_第7页
Romberg求积法_第8页
Romberg求积法_第9页
Romberg求积法_第10页
资源描述:

《Romberg求积法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、.-中医药大学题目:Romberg求积法c语言编程:撞撞学号:13713042班级:13医软〔1〕班目录1简介2计算公式3算法描述4程序流程图5算法程序表示6算法结果截图l1.简介龙贝格求积公式也称为逐次分半加速法。它是在梯形公式、辛普森公式和柯特斯公式之间的关系的根底上,构造出一种加速计算积分的方法。作为一种外推算法,它在不增加计算量的前提下提高了误差的精度.在等距基点的情况下,用计算机计算积分值通常都采用把区间逐次分半的方法进展。这样,前一次分割得到的函数值在分半以后仍可被利用,且易于编程。.可修编..-l2.计算

2、公式梯形公式复化辛普森公式复化科特斯公式龙贝格求积公式其对应的公式为:T2n=1/2〔Tn+Hn)(梯形公式〕Sn=4/〔4-1〕T2n-1(4-1)Tn(辛普森公式)Cn=4^2/(4^2-1)S2n-1/(4^2-1)Sn(柯特斯公式)Rn=4^3/〔4^3-1〕C2n-1/(4^3-1)Cn(龙贝格求积法公式)l3.算法描述3.1龙贝格算法根本描述先算出T0〔0〕,从而计算出T0(1),以此类推,直到计算出

3、T0(0)-Tn-1〔0〕

4、

5、2输入程序下限3输入区间等分数4输入要求的函数5计算出所求函数的积分,分别是:u复化梯形求积结果u辛普森求积结果.可修编..-u柯特斯求积结果u龙贝格求积结果l4.程序流程图例题:用Romberg方法计算积分I=ò0¹sin〔x〕/xdx的相关算法流程图表示如下列图.可修编..-l5.算法程序表示#include#include#defineA(x)(sin(x)/x).可修编..-//宏定义假设干常用函数A,B,C,D,E,G#defineB(x)(cos(x*x+2*x+1))#d

6、efineC(x)(atan(sqrt(x*x+1)))#defineD(x)(sqrt(exp(x)+sin(2*x)))#defineE(x)(x*x*x+3*x*x+5)#defineG(x)(log10(x)/pow(2,x))doublet[20],s[20],c[20],r[20];//定义全局数组doubledh,fan,a,b,m;//定义全局变量intjj=0;charhs;doubleF(doublex)//用switch调用假设干被积函数{switch(hs){case'A':fan=A(x);b

7、reak;case'B':fan=B(x);break;case'C':fan=C(x);break;case'D':fan=D(x);break;case'E':fan=E(x);break;case'G':fan=G(x);break;.可修编..-default:printf("输入错误!");}return(fan);//返回被积函数值}doubleH(inti)//求和函数并返回和SUM{intj;doublezh,SUM=0.0;//定义求和变量SUM并赋初值for(j=1;j<=pow(2,i-1);j+

8、+){zh=(a+((2*j-1)*(b-a))/pow(2,i));SUM=SUM+F(zh);//调用F(x)函数}SUM=(b-a)*SUM/pow(2,i);return(SUM);}doubleTxing(intk)//梯形公式.可修编..-{if(k==0)dh=t[jj]=((b-a)/2)*(F(a)+F(b));//分半次数为零时T形公式求积else{dh=0.5*Txing(k-1)+H(k);//Txing函数递归调用循环输出并返回dht[++jj]=dh;}m=pow(2,jj);printf(

9、"T[%0.0lf]=%0.7lft",m,t[jj]);//输出并返回dhreturn(dh);}doubleSimpson(intk)//辛普森公式{inti,j;Txing(k);//调用梯形公式.可修编..-for(i=0;i<=k-1;i++)s[i]=(4.0*t[i+1]-t[i])/3.0;//递推辛普森公式printf("");for(j=0;j<=k-1;j++)//循环输出{m=pow(2,j);printf("S[%0.0lf]=%0.7lf",m,s[j]);printf("t");}

10、return(s[k-1]);//返回最后一个值s[k-1]}doubleCotes(intk)//科特斯公式{inti,j;Simpson(k);for(i=0;i<=k-2;i++)c[i]=(16.0*s[i+1]-s[i])/15.0;//递推科特斯公式printf("");.可修编..-for(j=0;j<=k-2;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。