当前位置:首页 > 10级数值方法计算实习题
分析结果知,Steffensen迭代加速步数减少了,到第五步已经达到了精度要求。
五、用不同的数值方法计算积分
?3110?10?f(x)dx的近似值,其中f(x)???sin
x?x?2⑴ 取不同的步长h,分别用复合梯形公式和复合辛普森公式计算积分,比较两个公式的计
算效果,是否存在一个最小的h,使得精度不能再被改善? ⑵ 用龙贝格求积公式,取??10,并打印出T-表。
解:(1)用C++语言编写变步长的复合梯形公式计算积分,源代码如下: #include
double ff(double a,double b,double eps,double (*f)(double)){ int n,k;
double fa,fb,h,t1,p,s,x,t; fa=(*f)(a);fb=(*f)(b); n=1;h=b-a;
t1=h*(fa+fb)/2.0; p=eps+1.0; while(p>=eps){ s=0.0;
for(k=0;k<=n-1;k++){ x=a+(k+0.5)*h; s=s+(*f)(x);} t=(t1+h*s)/2.0; p=fabs(t1-t);
t1=t;n=n+n;h=h/2.0;} return t;}
int main() {
double ffs(double);
double a=1.0,b=3.0,eps=0.000001; cout< double ffs(double x){ double y; y=(10.0/x)*(10.0/x)*sin(10.0/x); return (y);} ?6 13 运行结果为: 用C++语言编写变步长的辛普森公式求积分,源代码如下: #include double ff(double a,double b,double eps,double (*f)(double)){ int n,k; double h,t1,t2,s1,s2,ep,p,x; n=1;h=b-a; t1=h*((*f)(a)+(*f)(b))/2.0; s1=t1; ep=eps+1.0; while(ep>=eps){ p=0.0; for(k=0;k<=n-1;k++){ x=a+(k+0.5)*h; p=p+(*f)(x);} t2=(t1+h*p)/2.0; s2=(4.0*t2-t1)/3.0; ep=fabs(s2-s1); t1=t2;s1=s2;n=n+n;h=h/2.0;} return s2;} int main() { double ffs(double); double a=1.0,b=3.0,eps=0.000001; cout< double ffs(double x){ double y; y=(10.0/x)*(10.0/x)*sin(10.0/x); return (y);} 运行结果为: (2)用C++语言编写龙贝格积分公式,源代码如下: #include using namespace std; 14 double rombege(double a,double b,double eps,double (*f)(double)){ int m,n,i,k; double y[10],h,ep,p,x,s,q; h=b-a; y[0]=h*((*f)(a)+(*f)(b))/2.0; m=1;n=1;ep=eps+1.0; while((ep>=eps)&&(m<=9)){ p=0.0; for(i=0;i<=n-1;i++){ x=a+(i+0.5)*h; p=p+(*f)(x);} p=(y[0]+h*p)/2.0; s=1.0; for(k=1;k<=m;k++){ s=4.0*s; q=(s*p-y[k-1])/(s-1.0); cout< ep=fabs(q-y[m-1]); m=m+1;y[m-1]=q;n=n+n;h=h/2.0; } return q; } int main() { double a=1.0,b=3.0,eps=0.0001,ffs(double); cout<<\用龙贝格积分所得的T表为:\ cout<<\用龙贝格积分所得积分结果为:\ return 0; } double ffs(double x){ double y; y=(10.0/x)*(10.0/x)*sin(10.0/x); return (y);} 运行结果为: 15 附:上机时间安排表 第20周 星期一 星期二 星期三 星期四 星期五 上午 信计101、102 数应101、102 信计101、102 数应101、102 信计101、102 8:30-11:40 下午 数应101、102 数应101、102 信计101、102 14:30-17:40 说明:此表为必须遵守的时间安排,学生必须按规定时间到信计系机房上机,要签到和考勤。如果上机时间不够,可自行安排时间找空闲机位上机。 16
共分享92篇相关文档