数值计算方法上机实验题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数值计算方法上机实验上传者:灵魂的温度QQ:804243922-1-数值计算方法上机实验实验内容:1.从地面发射一枚火箭,在最初80s内记录起加速度如下表,试求火箭在第50s,80s时的速度.t(s)01020304050607080a(m/s2)30.0031.6333.4435.4737.7540.3342.3946.6950.67要求:分别用复化梯形法,复化Simpson法和Romberg公式计算.2.给定积分dxex31和dxx311,分别用下列方法计算积分值要求准确到510,并比较分析计算时间.1)变步长梯形法;2)变步长Simpson法;3)Romberg方法.算法描述:1、复合梯形法:tdttatV0)()())()(2)((211nkknbfxfafhT输入被积函数数据点t,a.输出积分值.nT复合Simpson法:tdttatV0)()())()(2)(4)((6101121nknkkknbfxfxfafhS输入被积函数f(x),积分区间[a,b]和n输出复合Simpson积分值nS步1.);()(;axbfafSnabhn步2对nk,,2,1执行).(2;2);(4;2xfSShxxxfSShxxnnnn步3nnShS6步4输出nSRomberg积分法:根据已知数据对其进行多项式拟合得出p(x);f(x)p(x);输入被积函数f(x),积分区间端点a,b,允许误差输出Romberg积分值nR2步1.0;0;0;0));()((2;1111kRCSbfafhTabh步2反复执行步3→步9.步3.2;0haxS步4反复执行步5→步6.步5;);(hxxxfSS数值计算方法上机实验上传者:灵魂的温度QQ:804243922-2-步6若x≥b,则退出本层循环.步7执行.6316364;1511516;3134;2212212212212CCRSSCTTSShTT步8执行.1;;;;;2;2121212112kkRRCCSSTThhRRe步9若e≤且k≥5,则退出循环.步10.22RRn步11输出.2nR2、变步长梯形算法:功能求积分ba)(dxxf,允许误差为ε。输入被积函数f(x),a,b,ε。输出复合梯形积分值Tn2。步1hb-a.步2T1))()((2bfafh。步3反复执行步4——步10.步4S0;xa+h/2.步5反复执行步6——步7.步6SS+f(x);xx+h.步7若xb,则退出本层循环。步8STT2h212.步9TTTThhe2112;2;.步10若e,退出循环.步11.22TTn步12输出Tn2复合Simpson法算法:功能用复合Simpson公式求积分ba)(dxxf。输入被积函数f(x),积分区间[a,b]和n。输出复合Simpson积分值Sn。步1.);()(;haxbfafnabSn.步2对k=1,2,…,n执行)(2;2);(4;2xxfhxxxfhxSSSSnnnn。数值计算方法上机实验上传者:灵魂的温度QQ:804243922-3-步3SSnnh2.步4输出SnRomberg积分法算法:功能计算积分ba)(dxxf,允许误差为ε。输入被积函数f(x),积分区间端点a,b,允许误差为ε。输出Romberg积分值Rn2。步10;0;0;0));()((2;h1111kbfafhabRCST.步2反复执行步3——步9.步3S0;xa+h/2.步4反复执行步5——步6.步5SS+f(x);xx+h.步6若xb,则退出本层循环。步7CCRSSCTTSTTS122122122126316364;1511516;31342h2;.步8执行1kk;;;;;2;2121212112RRCCSSTTRRhhe.步10若e且5k,则退出循环.步11.22RRn步12输出Rn2源程序清单:1、复合梯形法源程序清单:t=[01020304050607080];a=[30.0031.6333.4435.4737.7540.3342.3946.6950.67];h=10;v0=0;v50=v0+(h/2)*(a(1)+2*(a(2)+a(3)+a(4)+a(5))+a(6))v80=v0+(h/2)*(a(1)+2*(a(2)+a(3)+a(4)+a(5)+a(6)+a(7)+a(8))+a(9))复合Simpson法源程序清单:t=[01020304050607080];a=[30.0031.6333.4435.4737.7540.3342.3946.6950.67];h=20;v0=0;v80=v0+(h/6)*(a(1)+4*(a(2)+a(4)+a(6)+a(8))+2*(a(3)+a(5)+a(7))+a(9))x=[01020304050];y=[30.0031.6333.4435.4737.7540.33];p=polyfit(x,y,2);poly2sym(p);x=[515253545];q=polyval(p,x);a=[30.00q(1)31.63q(2)33.44q(3)35.47q(4)37.75q(5)40.33];h=10;数值计算方法上机实验上传者:灵魂的温度QQ:804243922-4-v50=v0+(h/6)*(a(1)+4*(a(2)+a(4)+a(6)+a(8)+a(10))+2*(a(3)+a(5)+a(7)+a(9))+a(11))Romberg积分法源程序清单:functionR2n=Romberg(f,a,b,tol)h=b-a;T1=(h/2)*(feval(f,a)+feval(f,b));S1=0;C1=0;R1=0;k=0;while1S=0;x=a+h/2;while1S=S+feval(f,x);x=x+h;ifx=bbreakendendT2=T1/2+(h/2)*S;S2=(4/3)*T2-(1/3)*T1;C2=(16/15)*S2-(1/15)*S1;R2=(64/63)*C2-(1/63)*C1;e=abs(R2-R1);h=h/2;T1=T2;S1=S2;C1=C2;R1=R2;k=k+1;ife=tol&k=5breakendendR2n=R2;x=[01020304050607080];y=[30.0031.6333.4435.4737.7540.3342.3946.6950.67];p=polyfit(x,y,3);y=poly2sym(p)functiony=f(x)y=(5930286613326077*x^3)/295147905179352825856-(3295392375650087*x^2)/4611686018427387904+(3387527922312137*x)/18014398509481984+74033/2475a=0;b=50;tol=0.000005;v50=Romberg('f',a,b,tol)a=0;b=80;tol=0.000005;80=Romberg('f',a,b,tol)2、变步长梯形法源程序清单:functionT2n=Vsm(f,a,b,tol)h=b-a;T1=h/2*(feval(f,a)+feval(f,b));while1S=0;x=a+h/2;while1S=S+feval(f,x);x=x+h;ifx=bbreakendendT2=T1/2+h*S/2;数值计算方法上机实验上传者:灵魂的温度QQ:8042439225e=abs(T2-T1);h=h/2;T1=T2;ife=tolbreakendendT2n=T2;functiony=f(x)y=exp(x);a=1;b=3;tol=0.000005;I=Vsm('f',a,b,tol)functiony=f(x)y=1./x;a=1;b=3;tol=0.000005;I=Vsm('f1',a,b,tol)变步长Simpson法源程序清单:functionI=gauss2(gfun,a,b,n)h=(b-a)/n;gp1=1/sqrt(3);gp2=-gp1;k=1:n;g1=feval(gfun,a+h/2*(gp2+2*k-1));g2=feval(gfun,a+h/2*(gp1+2*k-1));I=h/2*sum(g1+g2);functionf=gfun(x)y=exp(x);I=gauss2('gfun',1,3,8)functionf=gfun(x)y=1./;I=gauss2('gfun',1,3,8)Romberg方法源程序清单:functionR2n=Vsm(f,a,b,tol)h=b-a;T1=h/2*(feval(f,a)+feval(f,b));S1=0;C1=0;R1=0;k=0;while1S=0;x=a+h/2;while1S=S+feval(f,x);x=x+h;ifx=bbreakendendT2=T1/2+h*S/2;S2=4*T2/3-T1/3;数值计算方法上机实验上传者:灵魂的温度QQ:8042439226C2=(16/15)*S2-(1/16)*S1;R2=(64/63)*C2-(1/63)*C1;e=abs(R2-R1);h=h/2;T1=T2;S1=S2;C1=C2;R1=R2;k=k+1;if(e=tol)&(k=5)breakendendR2n=R2;functiony=f(x)y=exp(x);a=1;b=3;tol=0.000005;I=Vsm('f',a,b,tol)functiony=f(x)y=1./x;a=1;b=3;tol=0.000005;I=Vsm('f1',a,b,tol)数值计算方法上机实验上传者:灵魂的温度QQ:8042439227

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功