欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

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

  • 资源ID:88411818       资源大小:299KB        全文页数:14页
  • 资源格式: DOC        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

华中科技大学数值分析实验报告考生考生学号班级指导老师路志宏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)将计算结果与精确解做比较,并比较各种算法的计算量。实验容: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(3x1);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).;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-Legendre 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公式: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)计算结果及误差:分别对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-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 313xdx0计算值区间二分相邻误差绝对误差区间二分等分复化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-0082A13=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次方等分,因此最后实际等分数应该是大于由余项计算得出的区间等分数31的某个2的k次方。例如(1)In 2 In 32 詁dx,由余项计算法求出的复2 x21化梯形公式、Simpson公式、Gauss_Legendrel公式的区间等分数n分别为1792、 21、19,而“事后误差估计法”的区间等分数 n为相应的2048、32、32,这个 结果符合实际情况。这次数值分析试验,加深我对复化求积公式的理解。通过此次数值分析试验,我掌握了利用复化求积公式求解定积分的方法。相信,在未来的科研中,作为数值计算基本工具的复化求积方法,一定会为科研过程中遇到的数值计算问题提供极大的便利感与我共同探讨该问题的几位同学,感知识渊博的路老师!5附C+程序#include <iostream>#include <iomanip>#include <math.h>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"); cin>>N;while (N<0|N>4);return N; int main() 主函数*double v1,v2,v3,v4,e;double Trapezoid(),Simpson(),Gauss_Legendre();cout<<setw(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=" v<v1<vendl;coutvv"复化梯形公式计算机结果:";Trapezoid();coutvv"绝对误差: e=" vvsetprecision(5)vvabs(v1-t)vv " v0.5e-007" vvendl;coutvv"复化Simpson公式计算结果:"Simpson();coutvv"绝对误差: e="v<setprecision(5)vvabs(v1-s)vv " <0.5e-007" vvendl;coutvv" 复化 Gauss_Legendre结果 :"Gauss_Legendre();coutvv"绝对误差: e=" vvsetprecision(5)vvabs(v1-g)vv " v0.5e-007" vvendl;system( "pause>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();0.5e-007"coutvv"vvendl;绝对误差:e="vvsetprecision(5)vvabs(v2-s)vv"vcoutvv"复化 Gauss_Legendre结果 :II .Gauss_Legendre();coutvv"绝对误差:e="vvsetprecision(5)vvabs(v2-g)vv"v0.5e-007"vvendl;system( "pause>nul");break;case(3):a=0;b=1;v3=2/log(3);coutvv"实验4.1题 的精确计算值为:coutvv "复化梯形公式计算机结果:"vvsetprecision(15)vv "v=" vvv3«endl;II .Trapezoid();0.5e-007"coutvv" vvendl; |绝对误差:e="vvsetprecision(5)vvabs(v3-t)vv"vcoutvv"复化Simpson公式计算结果:Simpson();II .coutvv"绝对误差:e="vvsetprecision(5)vvabs(v3-s)vv"v0.5e-007"vvendl;coutvv"复化 Gauss_Legendre结果 :II .Gauss_Legendre();coutvv"绝对误差:e="vvsetprecision(5)vvabs(v3-g)vv"v0.5e-007"vvendl;system( "pause>nul"); break;case(4):a=1;b=2;v4=exp(2);coutvv"实验 4.1 题(4)的精确计算值为:"vvsetprecision(15)vv "v=" <<v4<<endl;coutvv "复化梯形公式计算机结果:";Trapezoid();coutvv"绝对误差: e="vvsetprecision(5)vvabs(v4-t)vv " <0.5e-007" vvendl;coutvv" 复化Simpson公式计算结果:"Simpson();coutvv"绝对误差: e="vvsetprecision(5)vvabs(v4-s)vv " v0.5e-007" vvendl;coutvv" 复化 Gauss_Legendre结果 :"Gauss_Legendre();coutvv"绝对误差: e="vvsetprecision(5)vvabs(v4-g)vv " v0.5e-007" vvendl;system( "pause>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;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;return 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;i<n;i+)sum+=f(a+i*h);sum1+=f(a+i*h+h/2);s=h*(f(a)+4*sum1+2*sum+f(b)/6;k=k+1;coutvvsetprecision(15)vv "s=" vvsvv"区间等分:n=2A" vvk-1vv"" vv"=" vvnvvendl;cout<<setprecision(3)vv相邻误差:abs(s-s0)=" <<abs(s-s0)vv1.50e-007" vvendl;return s;*Gauss_Legendre公式*/double Gauss_Legendre() int k=1,i,n;double g0=0,h,sum;3*tol,若g=(f(a+b)/2-(b-a)/(2*sqrt(3)+f(a+b)/2+(b-a)/(2*sqrt(3)*(b-a)/2;while (abs(g-g0)>=(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;cout<<setprecision(15)vv "g=" vvgvv" 区间等分:n=2A" vvk-1vv"" <<"=" vvnvvendl;cout<<setprecision(3)vv相邻误差:abs(g-g0)=" <<日匕$9勺0)<< " <1.50e-007" vvendl;return g;依据题号自动选择对应的f(x) I函数 *double f( double x)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;请轴吒总诗-4 ”將依我L;煩化梯形、G Imps art、 Gaus*_Lesendre虫弍"CT t nd vt i怛* itr'-i 3 x '.crnd. rt=-e.43E4tS12?e435ffi 废司手计i n=3Ail204H absCt-tO> =4.ISb-CMB < L.59e-BB7O-l,393Sft-l»S < e.S&-«07a-也4阳帕畀曲啊工怦*区间尊卅! n-K-32rthnCs-s»>-2.76 HtW < 1 .fll W?< e.sv ee?<-S.4B54£5L(K87838&7 司手讦【n =25=32ahsCg-ffB>=l.84C-OB8 < 1.50E-B07 e*l,229«t-aH!T < B.S*-SH?t.l«5»26U8536区1 百弄讦i (1-2"11-284SabsCt-tB> =1.l?ft-0B7 < 1.50U-0O7 b.#73&b-3s& < e.SB-ee?a-3,l1tbwatsm4«2国闻耳;J: A-2-3-Srth>iCi-ia>-i.4 mt/ c t JiMr wr/V-2.36&V 0呻 < U.9a-3.141E92$5527155区间等计i n=£P=¥absCg-ff9J =1.ObB-W? < 1.536-007c-1,(019-989 < A.Ec-ee?B:j& ivipson Itl,S294784969Q9« JKfflWjfi n2*11 =2649 ahsCt-t9> =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 < “ »-l.S20478W»881 abaCg-qB>-14b-BH? <Mfi7区闾锌分* g*l*I.EBei -0O7VTf < B.Se- flH7亏y氓二乜丄hl碎机當畫IMSI: “ O: £ r ,CkiuTV_L» “ dt* 结底 I 胡承籬t-7.t>0S611VJV612 IZiN等:十i n-2*13-Vif2紺皿-10>邙.珀-008 < 1,5»e-BB7a=277SB-am < a.5«-flfl73 -7 ,38? B5fe凶E 等芬 n-2*S-i2dbz:<i:-iM>-1Btt? < t .'bbtfi MH7用工Hh LM7 < W.Ge fifi? _0-7.38?BS697317526尸|1等寸"i fl-2'5-32StbBC<j-q9>-8x63c-aB8 < 1 .ESd-007

注意事项

本文(数值分析实验报告(华科书本实验41,附C++程序))为本站会员(z****)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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