版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验六-数值积分-数值分析-实验报告 山 西 大 学 计 算 机 与 信 息 技 术 学 院 实 验 报 告 姓 名 学号 班级 08 计科 课程名称 计算方法 实验日期 2021 年 12 月 6 日 实验名称 实验六 数值积分 成绩 一、实验目的 利用复化梯形公式,复化辛普生公式和龙贝格数值积分公式计算a( )bxf x dò的近似值。 二、实验方法 (1) 将a,b区间 n 等分,记分点为 ,( , 0,1,., )ib ax a ih h i nn-= + = = ,并在每个小区间1,i ix x+上应用梯形公式 11 ( ) 2 ( ) ( )2nn iiht f a f
2、x f b-= + +å (2)在每个小区间1,i ix x+上应用辛普生公式 1 111 12 ( ) 4 ( ) 2 ( ) ( )6n nn iii ihs f a f x f x f b- -+= = + + +å å 式中,12ix+为1,i ix x+的中点,即1212iix x h+= + 。 (3)先用梯形公式计算 ( )/ 2* ( ) ( )it b a f a f b = - + ,然后,将求积区间(a,b)逐次折半的方法,令区间长度 ( )/ 2 ( 0,1,2.)ih b a i = - = 。 计算211/ 2* / 2* ( *( 1
3、/ 2)nn nkt t h f a h k= + + -å,式中 2 i n = 。 于是,得到辛普生公式2 2( )/3n n n ns t t t = + - 。 科特斯求积公式2 2( )/15n n n nc s s s = + - 最后,得到龙贝格求积公式2 2( )/63n n n nr c c c = + - 利用上述各式计算,直到相邻两次的积分结果之差满足精度要求。 三、实验内容 利用复化梯形公式,复化辛普生公式和龙贝格数值积分公式计算 221xxe xe d = ò 和12041xdxp =+ò 的近似值,要求误差为71*102e-= ,将计算
4、结果与精度值比较,并对计算结果进行分析。 四、实验程序 #includestdio.h #includemath.h #includeiostream.h #includeiomanip.h double f1(double x) return x*exp(x); double f2(double x) return 4/(1+x*x); /.梯形公式. double t(double a,double b,int n) double x20210; double h=(b-a)/n; for(int i=0;in;i+) xi=a+i*h; double m=0; for(i=1;i=n-1
5、;i+) m=m+f1(xi); return h/2*(f1(a)+2*m+f1(b); void tet() int a=1,o=0; double q=t(1,2,a); double w=t(1,2,2*a); while(fabs(w-q)0.00000005) o+; a=a*2; q=t(1,2,a); w=t(1,2,2*a); printf(%d ,o); printf(t=%15.10f,t(1,2,2*a); double t1(double a,double b,int n) double x10000; double h=(b-a)/n; for(int i=0;in
6、;i+) xi=a+i*h; double m=0; for(i=1;i=n-1;i+) m=m+f2(xi); return h/2*(f2(a)+2*m+f2(b); void tet1() int b=1,p=0; double s=t1(0,1,b); double d=t1(0,1,2*b); while(fabs(s-d)0.00000005) p+; b=b*2; s=t1(0,1,b); d=t1(0,1,2*b); printf(n%d ,p); printf(t1=%15.10f,t1(0,1,b); /.辛普生公式. double s(double a,double b,
7、int n) double h=(b-a)/n; double s=f1(a)-f1(b); double x; x=a; for(int i=0;in;i+) x=x+h/2; s=s+4*f1(x); x=x+h/2; s=s+2*f1(x); s=s*h/6; return s; void tes() int c=1,l=0; double g=s(1,2,c); double h=s(1,2,2*c); while(fabs(h-g)0.00000005) l+; c=c*2; g=s(1,2,c); h=s(1,2,2*c); printf(n%d ,l); printf(s=%15
8、.10f,s(1,2,c); double s1(double a,double b,int n) double h=(b-a)/n; double s=f2(a)-f2(b); double x; x=a; for(int i=0;in;i+) x=x+h/2; s=s+4*f2(x); x=x+h/2; s=s+2*f2(x); s=s*h/6; return s; void tes1() int m=1,v=0; double j=s1(0,1,m); double k=s1(0,1,2*m); while(fabs(k-j)0.00000005) v+; m=m*2; j=s1(0,1
9、,m); k=s1(0,1,2*m); printf(n%d ,v); printf(s1=%15.10fn,s1(0,1,m); /.龙贝格公式. void l(double a,double b) double h=b-a; double t1=(f1(a)+f1(b)*h/2,t2; int k=1; double d=0; double r1=0,r2=1; double c1,c2; double s1=0,x,s2; while(1) if(fabs(r2-r1)0.00000005) break ; s1=0; x=a+h/2; while(xb) s1=s1+f1(x); x=
10、x+h; t2=t1/2+h/2*s1; s2=t2+1/3*(t2-t1); if(k=1) k=k+1; h=h/2; t1=t2; continue; c2=s2+1/15*(s2-s1); if(k=2) c1=c2; k=k+1; h=h/2; t1=t2;s1=s2; continue; r1=d;r2=c2+1/63*(c2-c1); if(k=3) d=r2; c1=c2; h=h/2;k=1;t1=t2;s1=s2; continue; printf( l=%15.10fn,r2); void main() tet(); tet1(); tes(); tes1(); l(1,2); 五、实验结果 六
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024常规终止解除劳动合同证明书
- 2024年城市供水工程建设项目特许经营合同
- 2024年废弃物处理拆除劳务合同
- 有关产品加工合同经典范文
- 2024工伤赔偿协议书示例
- 私营店主用人劳动合同范本2024年
- 互联网接入服务合同范本
- 标准建房合同范本
- 工程分包合同书范本专业
- 全面店面出租合同模板
- 杜邦杜邦工程塑料课件
- 砌体工程监理实施细则
- 运输车辆卫生安全检查记录表
- 房建装修修缮工程量清单
- 部编版四年级道德与法治上册第8课《网络新世界》优质课件
- 柴油发电机组应急预案
- 格力2匹柜机检测报告KFR-50LW(50530)FNhAk-B1(性能)
- 分级护理制度考试题及答案
- 小学生劳动课炒菜教案(精选8篇)
- 高考作文模拟写作:“德”与“得”导写及范文
- 江苏专转本《大学语文》考纲
评论
0/150
提交评论