云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 10级数值方法计算实习题

10级数值方法计算实习题

  • 62 次阅读
  • 3 次下载
  • 2026/1/27 8:38:03

分析结果知,Steffensen迭代加速步数减少了,到第五步已经达到了精度要求。

五、用不同的数值方法计算积分

?3110?10?f(x)dx的近似值,其中f(x)???sin

x?x?2⑴ 取不同的步长h,分别用复合梯形公式和复合辛普森公式计算积分,比较两个公式的计

算效果,是否存在一个最小的h,使得精度不能再被改善? ⑵ 用龙贝格求积公式,取??10,并打印出T-表。

解:(1)用C++语言编写变步长的复合梯形公式计算积分,源代码如下: #include #include using namespace std;

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 #include using namespace std;

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 #include #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

搜索更多关于: 10级数值方法计算实习题 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

分析结果知,Steffensen迭代加速步数减少了,到第五步已经达到了精度要求。 五、用不同的数值方法计算积分?3110?10?f(x)dx的近似值,其中f(x)???sin x?x?2⑴ 取不同的步长h,分别用复合梯形公式和复合辛普森公式计算积分,比较两个公式的计算效果,是否存在一个最小的h,使得精度不能再被改善? ⑵ 用龙贝格求积公式,取??10,并打印出T-表。 解:(1)用C++语言编写变步长的复合梯形公式计算积分,源代码如下: #include #include using namespace std; double ff(double a,double b,double eps,double (*f)(double)){ in

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com