数值分析报告实验报告材料华科书本实验4.1附C程序.doc

上传人:李司机 文档编号:1189750 上传时间:2022-07-19 格式:DOC 页数:11 大小:394.10KB
返回 下载 相关 举报
数值分析报告实验报告材料华科书本实验4.1附C程序.doc_第1页
第1页 / 共11页
数值分析报告实验报告材料华科书本实验4.1附C程序.doc_第2页
第2页 / 共11页
数值分析报告实验报告材料华科书本实验4.1附C程序.doc_第3页
第3页 / 共11页
数值分析报告实验报告材料华科书本实验4.1附C程序.doc_第4页
第4页 / 共11页
数值分析报告实验报告材料华科书本实验4.1附C程序.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数值分析报告实验报告材料华科书本实验4.1附C程序.doc》由会员分享,可在线阅读,更多相关《数值分析报告实验报告材料华科书本实验4.1附C程序.doc(11页珍藏版)》请在三一办公上搜索。

1、word实验目的:复化求积公式计算定积分试验题目:数值计算如下各式右端定积分的近似值。1;2;3;4;实验要求:1假如用复化梯形公式、复化Simpson公式和复化Gauss-Legendre I型公式做计算,要求绝对误差限为,分别利用他们的余项对每种算法做出步长的事前估计。2分别用复化梯形公式、复化Simpson公式和复化Gauss-Legendre I型公式做计算。3将计算结果与准确解做比拟,并比拟各种算法的计算量。实验容:1复化梯形公式:=;余项:;2复化Simpson公式: =;余项:;3复化Gauss-Legendre I型公式:;余项:;1;如此可以得到:;估计步长:;将上述结果分别

2、带入到复化梯形公式、复化Simpson公式和复化Gauss-Legendre I型公式的余项中可以得到:复化梯形公式:;复化Simpson公式:;复化Gauss-Legendre I型公式:;2;如此可以得到:;估计步长:;将上述结果分别带入到复化梯形公式、复化Simpson公式和复化Gauss-Legendre I型公式的余项中可以得到:复化梯形公式:;复化Simpson公式:;复化Gauss-Legendre I型公式:;3;如此可以得到:;估计步长:;将上述结果分别带入到复化梯形公式、复化Simpson公式和复化Gauss-Legendre I型公式的余项中可以得到:复化梯形公式:;复化

3、Simpson公式:;复化Gauss-Legendre I型公式:;4;如此可以得到:;估计步长:;将上述结果分别带入到复化梯形公式、复化Simpson公式和复化Gauss-Legendre I型公式的余项中可以得到:复化梯形公式:;复化Simpson公式:;复化Gauss-Legendre I型公式:;3.C+编程计算结果1区间逐次分半求积法:依据“事后误差法,将区间逐次分半进展计算,并利用前后两次计算结果来判断误差的大小。在逐次二分进展计算时,可以用与来估计误差,这种直接用计算结果来估计误差的方法通常称作误差的事后估计法,假如为计算结果允许的误差,如此停止计算,并取作为积分的近似值;否如此

4、将区间再次二分后算出,并检验不等式是否满足。由于是区间分半,因此区间等分数必定是2的n次方。完毕输出结果选择题号N复化公式函数选择f(x)开始2流程图:3计算结果与误差:分别对4题作复化Trapezoid、Simpson、Gauss_Legendre计算,并计算计算值与准确值之间的误差,结果如下表:1计算结果表 数据类型求积类型1计算值区间二分相邻误差绝对误差区间二分等分复化Trapezoid公式20435094.18e-0081.3935e-008211=2048复化Simpson公式99529082.76e-00825=32Gauss_LegendreI公式687838625=322计算结

5、果表 数据类型求积类型2计算值区间二分相邻误差绝对误差区间二分等分复化Trapezoid公式1385336e-007e-008211=2048复化Simpson公式5122482e-007e-00923=8Gauss_LegendreI公式5527155e-007e-00923=83计算结果表 数据类型求积类型3计算值区间二分相邻误差绝对误差区间二分等分复化Trapezoid公式49690861.31e-007e-008211=2048复化Simpson公式45413181.32e-008e-25=32Gauss_LegendreI公式44388811.4e-007e-00924=164计算结

6、果表 数据类型求积类型4计算值区间二分相邻误差绝对误差区间二分等分复化Trapezoid公式1970612e-008e-008213=8192复化Simpson公式07563761.29e-007e-00925=32Gauss_LegendreI公式9317526e-008e-00925=32由上表中的误差分析可知,利用题目所要求的复化求积公式运算的结果均在绝对误差限,精度满足要求。由各种算法的步长可知,复化梯形公式、复化Simpson公式和复化Gauss_LegendreI公式在一样精度的情况下,其步长依次减少,相应地,其计算量也依次递减。四、总结由于计算过程使用的“事后误差估计法,区间分半

7、,因此区间都是划分为2的k次方等分,因此最后实际等分数应该是大于由余项计算得出的区间等分数的某个2的k次方。例如1,由余项计算法求出的复化梯形公式、Simpson公式、Gauss_LegendreI公式的区间等分数n分别为1792、21、19,而“事后误差估计法的区间等分数n为相应的2048、32、32,这个结果符合实际情况。这次数值分析试验,加深我对复化求积公式的理解。通过此次数值分析试验,我掌握了利用复化求积公式求解定积分的方法。相信,在未来的科研中,作为数值计算根本工具的复化求积方法,一定会为科研过程中遇到的数值计算问题提供极大的便利。感谢与我共同探讨该问题的几位同学,感谢知识渊博的路教

8、师!5.附C+程序#include#include#includeusingnamespace std;int N;/*全局变量N,作为题号输入的同时选择对应的f(x)函数*/double a,b,t,s,g,tol=0.5e-7;double f(double x);/*菜单函数*/int select_menu()do/system(cls);cinN;while (N4);return N;/*主函数*/int main()double v1,v2,v3,v4,e;double Trapezoid(),Simpson(),Gauss_Legendre();coutsetw(40)实验4.

9、1endl请输入题号1-4,将依次以复化梯形、Simpson、Gauss_Legendre公式endl;for (;)switch(select_menu()/*switch循环选择题号*/case(1):a=2;b=3;v1=log(a)-log(b);cout实验题(1)的准确计算值为:setprecision(15)v=v1endl;cout 复化梯形公式计算机结果:;Trapezoid();cout 绝对误差:e=setprecision(5)abs(v1-t) 0.5e-007endl;cout 复化Simpson公式计算结果:;Simpson();cout 绝对误差:e=setpr

10、ecision(5)abs(v1-s) 0.5e-007endl;cout 复化Gauss_Legendre结果:;Gauss_Legendre();cout 绝对误差:e=setprecision(5)abs(v1-g) 0.5e-007nul);break;case(2):a=0;b=1;cout实验题(2)的准确计算值为:setprecision(15)v=v2endl;cout 复化梯形公式计算机结果:;Trapezoid();cout 绝对误差:e=setprecision(5)abs(v2-t) 0.5e-007endl;cout 复化Simpson公式计算结果:;Simpson(

11、);cout 绝对误差:e=setprecision(5)abs(v2-s) 0.5e-007endl;cout 复化Gauss_Legendre结果:;Gauss_Legendre();cout 绝对误差:e=setprecision(5)abs(v2-g) 0.5e-007nul);break;case(3):a=0;b=1;v3=2/log(3);cout实验题(3)的准确计算值为:setprecision(15)v=v3endl;cout 复化梯形公式计算机结果:;Trapezoid();cout 绝对误差:e=setprecision(5)abs(v3-t) 0.5e-007endl

12、;cout 复化Simpson公式计算结果:;Simpson();cout 绝对误差:e=setprecision(5)abs(v3-s) 0.5e-007endl;cout 复化Gauss_Legendre结果:;Gauss_Legendre();cout 绝对误差:e=setprecision(5)abs(v3-g) 0.5e-007nul);break;case(4):a=1;b=2;v4=exp(2);cout实验题(4)的准确计算值为:setprecision(15)v=v4endl;cout 复化梯形公式计算机结果:;Trapezoid();cout 绝对误差:e=setpreci

13、sion(5)abs(v4-t) 0.5e-007endl;cout 复化Simpson公式计算结果:;Simpson();cout 绝对误差:e=setprecision(5)abs(v4-s) 0.5e-007endl;cout 复化Gauss_Legendre结果:;Gauss_Legendre();cout 绝对误差:e=setprecision(5)abs(v4-g) 0.5e-007nul);break;case(0):cout选择退出=(tol*3)/*事后误差估计,验证前后两次区间分半后的计算值是否小于3*tol,假如是,如此循环完毕*/sum=0;n=2;n=n(k-1);t

14、0=t;h=(b-a)/n;for(i=1;in;i+)sum+=f(a+i*h);t=h*(f(a)+f(b)/2+h*sum;k=k+1;coutsetprecision(15)t=t 区间等分:n=2k-1=nendl;coutsetprecision(3) 相邻误差:abs(t-t0)=abs(t-t0) 1.50e-007=(tol*3)/*事后误差估计,验证前后两次区间分半后的计算值是否小于3*tol,假如是,如此循环完毕*/sum=0;n=2;n=n(k-1);s0=s;h=(b-a)/n;sum1=f(a+h/2);for(i=1;in;i+)sum+=f(a+i*h);sum

15、1+=f(a+i*h+h/2);s=h*(f(a)+4*sum1+2*sum+f(b)/6;k=k+1;coutsetprecision(15)s=s 区间等分:n=2k-1=nendl;coutsetprecision(3) 相邻误差:abs(s-s0)=abs(s-s0) 1.50e-007=(tol*3)/*事后误差估计,验证前后两次区间分半后的计算值是否小于3*tol,假如是,如此循环完毕*/sum=0;n=2;n=n(k-1);g0=g;h=(b-a)/n;for(i=0;in;i+)sum+=(f(a+i*h+h/2-h/(2*sqrt(3)+f(a+i*h+h/2+h/(2*sq

16、rt(3);g=h*sum/2;k=k+1;coutsetprecision(15)g=g 区间等分:n=2k-1=nendl;coutsetprecision(3) 相邻误差:abs(g-g0)=abs(g-g0) 1.50e-007endl;return g;/*依据题号自动选择对应的f(x)函数*/double f(doublex)switch(N)case(1):return(-2.0/(x*x-1);break;case(2):return(4.0/(x*x+1);break;case(3):return(pow(3,x);break;case(4):return(x*(exp(x);break;return 0;11 / 11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号