Romberg求积法

Romberg求积法

ID:38402267

大小:191.50 KB

页数:17页

时间:2019-06-11

Romberg求积法_第1页
Romberg求积法_第2页
Romberg求积法_第3页
Romberg求积法_第4页
Romberg求积法_第5页
资源描述:

《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、数的积分,分别是: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))#defineC(x)(atan(sqrt(x*x+1)))#defineD(x)(sqrt

6、(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);break;case'B':fan=B(x);break;case'C':fan=C(x);break;case'D':fan=D(x

7、);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++){zh=(a+((2*j-1)*(b-a))/pow(2,i));SUM=SUM+F(zh);//调用F(x)函数}SUM=(b-a)*SUM/pow(2,i);r

8、eturn(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("T[%0.0lf]=%0.7lft",m,t[jj]);//输出并返回dhreturn(dh);}doubleSimpson(intk)//辛普森公式{inti,j;Txing(k);//调用梯形公式

9、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");}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.

10、0;//递推科特斯公式printf("

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

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

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