资源描述:
《实验八 常微分方程初值问题数值解法报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验八常微分方程初值问题数值解法报告实验八常微分方程初值问题数值解法一、基本题科学计算中经常遇到微分方程(组)初值问题,需要利用Euler法,改进Euler法,Rung-Kutta方法求其数值解,诸如以下问题:(1)??4x?xy?y?y??y?0??0?0?x?2分别取h=0.1,0.2,0.4时数值解。初值问题的精确解y?(2)。9?y??x2?y2??y??1??0?1?x?0用r=3的Adams显式和预-校式求解取步长h=0.1,用四阶标准R-K方法求值。(3)0?x?1用改进Euler
2、法或四阶标准R-K方法求解取步长??y2?y1????y1?y2?y???y3?3??0???1y1y2?0??0y3?0??15),0.01,计算y(0.0y(y0.1数值解,参考结果y1(0.15)??0.9880787,y2(0.15)?0.1493359,y3(0.15)?0.8613125。(4)利用四阶标准R-K方法求二阶方程初值问题的数值解9(I)?y???3y??2y?0??y?0??0,y??0??10?x?1,h?0.02(II)?y???0.11?y2y??y?0?y?0?
3、?1,y??0??0?0?x?1,h?0.1(III)??y??y??x?e?1?y?0??1,y??0??0?0?x?2,h?0.1(IV)??y???siny?0???y?0??1,y?0??00?x?4,h?0.2二、应用题1.9小型火箭初始质量为900千克,其中包括600千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生30000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数为0.4(千克/米).重力加速度取9.8米/秒
4、2.建立火箭升空过程的数学模型(微分方程);求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点的时间和高度.2.小型火箭初始质量为1200千克,其中包括900千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生40000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数记作k,火箭升空过程的数学模型为d2xdx?dx?m??k???T?mg,0?t?t1,x(0)??0dtdtdt??t?0其中x(t)为火箭在时刻t的高度,m=
5、1200-15t为火箭在时刻t的质量,T(=30000牛顿)为推力,g(=9.8米/秒2)为重力加速度,t19(=900/15=60秒)为引擎关闭时刻.2现有两种估计比例系数k的方法:1.用每一个数据(t,x,v)计算一个k的估计值(共11个),再用它们来估计k。2.用这组数据拟合一个k.请你分别用这两种方法给出k的估计值,对方法进行评价,并且回答,能否认为空气阻力系数k=0.5(说明理由).三、要求1、根据初值问题数值算法,分别选择二个初值问题编程计算;2、试分别取不同步长,考察某节点处xj数
6、值解的误差变化情况;93、试用不同算法求解某初值问题,结果有何异常;4、分析各个算法的优缺点。四、目的和意义1、熟悉各种初值问题的算法,编出算法程序;2、明确各种算法的精度与所选步长有密切关系;3、通过计算更加了解各种算法的优越性。五、实验学时:2学时六、实验步骤:1.进入C或matlab开发环境;2.根据实验内容和要求编写程序;3.调试程序;94.运行程序;5.撰写报告,讨论分析实验结果.解:1、欧拉法程序functiony=Euler(a,b,M,y0)y=zeros(1,M+1);yy=z
7、eros(1,M+1);y(1)=y0;yy=((t.+2)./3)..5;det=yy-y;plot(t,y,'r-',t,yy,'b:',t,det);92、改进欧拉法程序functionH=heeuler(a,b,M,ya,f)%a=0,b=1,M=10,f=t*t+t-y,y0=0;h=(b-a)/M;t=zeros(1,M+1);y=zeros(1,M+1);p=0;q=0;t=a:h:b;y(1)=ya;fork=1:Mp=feval(f,t(k)
8、,y(k));q=feval(f,t(k+1),y(k)+h*p);y(k+1)=y(k)+0.5*h*(p+q);end9yy=t.*t-t+1-exp(-t);det=yy-y;plot(t,y,'r-',t,yy,'b:',t,det);H=[t',y',yy',det']functionf=ff(t,y);f=t.+t-y;3、四阶龙格-库塔法程序functionH=r_k4(a,b,M,ya,f)%a=0,b=1,M=1