数值分析实验报告(华科书本实验41,附C++程序)

上传人:z**** 文档编号:88411818 上传时间:2022-05-10 格式:DOC 页数:14 大小:299KB
收藏 版权申诉 举报 下载
数值分析实验报告(华科书本实验41,附C++程序)_第1页
第1页 / 共14页
数值分析实验报告(华科书本实验41,附C++程序)_第2页
第2页 / 共14页
数值分析实验报告(华科书本实验41,附C++程序)_第3页
第3页 / 共14页
资源描述:

《数值分析实验报告(华科书本实验41,附C++程序)》由会员分享,可在线阅读,更多相关《数值分析实验报告(华科书本实验41,附C++程序)(14页珍藏版)》请在装配图网上搜索。

1、华中科技大学数值分析实验报告考生考生学号班级指导老师路志宏2013年4月15日实验4.1实验目的:复化求积公式计算定积分试验题目:数值计算下列各式右端定积分的近似值。31(1)In 2 In 32 二 dx ;2 x 1i 1(2);(3) 3xdx ;In 302 2(4)e 严& ;实验要求:(1)若用复化梯形公式、复化 Simpson公式和复化 Gauss-Legendre I型公式做计算,要求绝对误差限为1 10 7,分别利用他们的余项对每种算法做出2步长的事前估计。(2) 分别用复化梯形公式、复化 Simpson公式和复化 Gauss-Legendre I 型公式做计算。(3)将计算

2、结果与精确解做比较,并比较各种算法的计算量。实验容:1. 公式介绍(1) 复化梯形公式:h n 1Tn- f(Xk)2 k ofar =2 f(a)n 12 f(Xk) f(b)k 1余项:Rn晋h2f();(2) 复化Simpson公式:hSn 6kon 1f (xk) 4f(Xk12)f (Xk 1)f (a)n 1n4 f(Xk12)2k 01f(xk) f(b);k 1余项:(3)复化b a“h、44面(2)f ();Gauss-Lege ndre IRn(f)型公式:ba f (x)dx余项:RG(f):1(x)dx;hn12 k 07f (xk 1 22. 步长估计r (2)4(3

3、x1);rf123; maxf1则可以得到:52 ;27 ;2424(x 1)5 (x 1)5);max f,4)5808243估计步长:Rn (f)2 E ;Simpson公式和复化将上述结果分别带入到复化梯形公式、复化Gauss-Legendre I型公式的余项中可以得到:复化梯形公式:h 5.5816 10 4 ; n 1792 ;复化 Simpson公式:h 0.0498; n复化 Gauss-Legendre I 型公式:hf2 壬;21 ;0.0549 ; n 19;x 1则可以得到:f2(2)8(3x2 1);maxi 23(x 1)96(5 x4 10 x2(x 1)51).;

4、max f296估计步长:Rn (f)将上述结果分别带入到复化梯形公式、复化Simpson公式和复化Gauss-Legendre I型公式的余项中可以得到:复化梯形公式:h 2.7386 10 43652;复化 Simpson公式:h 0.0350 ;29 ;复化 Gauss-Legendre I 型公式:0.0388; n 26 ;(3) f33x ;3x(ln3)2 ;则可以得到:f33x(ln3)2 ; max ff3 3x(ln3)4 ; max f3 3x(ln3)41估计步长:R(f)|- 107 ;将上述结果分别带入到复化梯形公式、复化Simpson公式和复化Gauss-Lege

5、ndre I型公式的余项中可以得到:复化梯形公式:h 4.0707 10 4 ; n 2457 ;复化 Simpson公式:h 0.0758; n 14 ;复化 Gauss-Legendre I 型公式:h 0.0838; n 12 ;(4) f4 xex ;则可以得到:f42ex xex ; max f44e2 ;f4 4ex xex ; max f46e21估计步长:R(f)|- 10 7 ;将上述结果分别带入到复化梯形公式、复化Simpson公式和复化Gauss-Legendre I型公式的余项中可以得到:复化梯形公式:h 1.4248 10 4 ; n 7019 ;复化 Simpson

6、公式:h 0.0424 ; n 24 ;复化 Gauss-Legendre I 型公式:h 0.0469 ; n 22 ;3. C+编程计算结果(1)区间逐次分半求积法:依据“事后误差法”,将区间逐次分半进行计算,并利用前后两次计算结果 来判断误差的大小。在逐次二分进行计算时,可以用T2n与Tn来估计误差,这种直接用计算结果来估计误差的方法通常称作误差的事后估计法,若 |T2n Tn| 3 (为计算结果允许的误差),则停止计算,并取T2n作为积分 的近似值;否则将区间再次二分后算出T4n,并检验不等式T2n| 是否满足。 由于是区间分半,因此区间等分数必定是2的n次方。(2)流程图:(3)计算

7、结果及误差:分别对4题作复化Trapezoid、Simpson、Gauss_Legendre计算,并计算计算值与精确值之间的误差,结果如下表:(1) In 2 In 32dx计算结果表2 x2 1数据类型 求积类型(1) ln 2 ln32 3dx2 x2 1计算值区间二分相邻误差绝对误差区间二分等分复化Trapezoid 公-0.405465124.18e-0081.3935e-0082A1仁2048式2043509复化Simps on 公-0.405465102.76e-0081.8447e-0092A5=32式9952908Gauss._Legendre-0.405465101.84e-

8、0081.2298e-0092A5=32公式6878386(2)4 1J dx计算结果表0x21、数据类型 求积类型、1(2)40x21dx计算值区间二分相邻误差绝对误差区间二分等分复化Trapezoid 公3.14159261.19e-0073.9736e-0082A1仁2048式1385336复化Simps on 公3.14159261.49e-0072.365e-0092A3=8式5122482Gauss._Legendre3.14159261.06e-0071.6818e-0092A3=8公式55271552 1(3)3xdx计算结果表In 30、数据类型 求积类型2(3)丄In 31

9、3xdx0计算值区间二分相邻误差绝对误差区间二分等分复化Trapezoid公1.8204781.31e-0074.3655e-0082A1仁2048式4969086复化 Simpson公1.8204781.32e-0088.7812e-0102A5=32式4541318Gauss_Lege ndre1.8204781.4e-0079.3656e-0092A4=16I公式4438881(4) e2:xexdx计算结果表、数据类型 求积类型(4)e2上匕计算值区间二分相邻误差绝对误差区间二分等分复化Trapezoid公式7.389056119706126.23e-0082.0775e-0082A1

10、3=8192复化Simpson公式7.389056107563761.29e-0078.6331e-0092A5=32Gauss_Lege ndreI公式7.389056093175268.63e-0085.7554e-0092A5=32由上表中的误差分析可知,利用题目所要求的复化求积公式运算的结果均在 绝对误差限210 7,精度满足要求。由各种 算法的步长可知,复 化梯形公式、复化Simpson公式和复化 Gauss_Legendrel公式在相同精度的情况下,其步长依次减少,相应地,其计算 量也依次递减。四、总结由于计算过程使用的“事后误差估计法”,区间分半,因此区间都是划分为2的k次方等分

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

12、知识渊博的路老师!5附C+程序#include #include #include using namespace std;int N; /*全局变量N,作为题号输入的同时选择对应的f(x)函数*/double a,b,t,s,g,tol=0.5e-7;菜单函数*double f( double x);/*int select_menu()dosystem(cls); cinN;while (N4);return N; int main() 主函数*double v1,v2,v3,v4,e;double Trapezoid(),Simpson(),Gauss_Legendre();coutse

13、tw(40)vv 实验 4.1 endl请输入题号 1-4,将依次以复化梯形、Simpson、Gauss_Legendre 公式vvendl;for (;)switch (select_menu() /*switch 循环选择题号 */case(1):a=2;b=3;v1=log(a)-log(b);coutvv实验 4.1 题(1)的精确计算值为:vvsetprecision(15)vv v= vv1vendl;coutvv复化梯形公式计算机结果:;Trapezoid();coutvv绝对误差: e= vvsetprecision(5)vvabs(v1-t)vv v0.5e-007 vven

14、dl;coutvv复化Simpson公式计算结果:;Simpson();coutvv绝对误差: e=vsetprecision(5)vvabs(v1-s)vv nul);break;case(2):a=0;b=1;v2=3.979;coutvv实验 4.1 题(2)的精确计算值为:vvsetprecision(15)vv v= vvv2vvendl;coutvv 复化梯形公式计算机结果:;Trapezoid();coutvv绝对误差: e=vvsetprecision(5)vvabs(v2-t)vv v0.5e-007 vvendl;coutvv复化Simpson公式计算结果:;Simpson

15、();0.5e-007coutvvvvendl;绝对误差:e=vvsetprecision(5)vvabs(v2-s)vvvcoutvv复化 Gauss_Legendre结果 :II .Gauss_Legendre();coutvv绝对误差:e=vvsetprecision(5)vvabs(v2-g)vvv0.5e-007vvendl;system( pausenul);break;case(3):a=0;b=1;v3=2/log(3);coutvv实验4.1题 的精确计算值为:coutvv 复化梯形公式计算机结果:vvsetprecision(15)vv v= vvv3endl;II .Tr

16、apezoid();0.5e-007coutvv vvendl; |绝对误差:e=vvsetprecision(5)vvabs(v3-t)vvvcoutvv复化Simpson公式计算结果:Simpson();II .coutvv绝对误差:e=vvsetprecision(5)vvabs(v3-s)vvv0.5e-007vvendl;coutvv复化 Gauss_Legendre结果 :II .Gauss_Legendre();coutvv绝对误差:e=vvsetprecision(5)vvabs(v3-g)vvv0.5e-007vvendl;system( pausenul); break;c

17、ase(4):a=1;b=2;v4=exp(2);coutvv实验 4.1 题(4)的精确计算值为:vvsetprecision(15)vv v= v4endl;coutvv 复化梯形公式计算机结果:;Trapezoid();coutvv绝对误差: e=vvsetprecision(5)vvabs(v4-t)vv nul);break;case(0):coutvv 选择退出vvendl;exit(0);/break;return 0;*Trapezoid公式*double Trapezoid()int k=1,i,n;double t0=0,h,sum;t=(f(a)+f(b)*(b-a)/2

18、;while (abs(t-t0)=(tol*3)/*事后误差估计,验证前后两次区间分半后的计算值是否小于是,则循环结束*/sum=0;n=2;n=nvv(k-1);t0=t;h=(b-a)/n;for (i=1;ivn;i+)sum+=f(a+i*h);t=h*(f(a)+f(b)/2+h*sum;k=k+1;coutvvsetprecision(15)vv t= vvtvv区间等分:n=2A vvk-1vv vv= vvnvvendl;coutvvsetprecision(3)vv 相邻误差:abs(t-t0)= vvabs(t-t0)vv3*tol,若1.50e-007 vvendl;r

19、eturn t;/*Simpson工式 */double Simpson()int k=1,i,n;double s0=0,h,sum,sum1;s=(f(a)+4*f(a+b)/2)+f(b)*(b-a)/6;while (abs(s-s0)=(tol*3)/*事后误差估计,验证前后两次区间分半后的计算值是否小于是,则循环结束*/3*tol,若sum=0;n=2;n=n(k-1);s0=s;h=(b-a)/n;sum 1= f(a+h/2);for (i=1;in;i+)sum+=f(a+i*h);sum1+=f(a+i*h+h/2);s=h*(f(a)+4*sum1+2*sum+f(b)/

20、6;k=k+1;coutvvsetprecision(15)vv s= vvsvv区间等分:n=2A vvk-1vv vv= vvnvvendl;coutsetprecision(3)vv相邻误差:abs(s-s0)= =(tol*3)/*事后误差估计,验证前后两次区间分半后的计算值是否小于是,则循环结束*/sum=0;n=2;n=nvv(k-1); g0=g;h=(b-a)/n;for (i=0;ivn;i+)sum+=(f(a+i*h+h/2-h/(2*sqrt(3)+f(a+i*h+h/2+h/(2*sqrt(3);g=h*sum/2;k=k+1;coutsetprecision(15)

21、vv g= vvgvv 区间等分:n=2A vvk-1vv = vvnvvendl;coutsetprecision(3)vv相邻误差:abs(g-g0)= 日匕$9勺0) =4.ISb-CMB L.59e-BB7O-l,393Sft-lS -2.76 HtW 1 .fll W? e.sv ee?=l.84C-OB8 1.50E-B07 e*l,229t-aH!T =1.l?ft-0B7 1.50U-0O7 b.#73&b-3s& iCi-ia-i.4 mt/ c t JiMr wr/V-2.36&V 0呻 U.9a-3.141E92$5527155区间等计i n=P=absCg-ff9J =

22、1.ObB-W? 1.536-007c-1,(019-989 =1 3Ip-Cff? l,5Gtei-0B7 h=4.3G5Sb-3BB 日.5b-0073*1,魁吐因4泗4ip41Jl区间弄另S n-2*iBJZMMft 1 .bb*r IMTZaf-t.VMSB MH -14b-BH? Mfi7区闾锌分* g*l*I.EBei -0O7VTf 0S611VJV612 IZiN等:十i n-2*13-Vif2紺皿-10邙.珀-008 1,5e-BB7a=277SB-am a.5-flfl73 -7 ,38? B5fe凶E 等芬 n-2*S-i2dbz:-1Btt? t .bbtfi MH7用工Hh LM7 W.Ge fifi? _0-7.38?BS697317526尸|1等寸i fl-25-32StbBC-8x63c-aB8 1 .ESd-007

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!