实验4常微分方程数值解 下载本文

.

for n=1:2000%此处利用一个循环语句找出时间终点

T=80-0.01*n; %估计出时间不会晚于80 tss=60:0.02:T;

y0=[x(61,1),x(61,2)];

option=odeset('reltol',1e-3,'abstol',1e-6); [t2,y]=ode45(@Rocket2,tss,y0,option); [t2,y]; if y(:,2)>=0 break end end

plot(t,x(:,1),'b',t2,y(:,1),'r'),grid, title('图1.高度-时间') xlabel('t/s') ylabel('h/m') pause

plot(t,x(:,2),'b',t2,y(:,2),'r'),grid, title('图2.速度-时间') xlabel('t/s') ylabel('v/(m/s)') pause

a=(32000-0.4*x(:,2).^2)./(1400-18*t)-9.8; a2=-9.8-0.4*y(:,2).^2/320; plot(t,a,'b',t2,a2,'r'),grid, title('图3.加速度-时间') xlabel('t/s')

ylabel('a/(m/s^2)')

6页

.

由MATLAB数据计算可知,当t=71.31s 时,火箭上升到最大高度h= 13115m,此时火箭的速度v=0.019874,几乎可认为已经停止,加速度a=-9.8m/s2。 【小结】

由以上三图的曲线可以看出,起初火箭迅速加速,而且速度值不大时,燃料动力的贡献要超过空气阻力,而质量的减少又会使加速度变大,故而两个因素共同作用使加速度较为稳定。此后速度增加,阻力变大,加速度渐渐变为0.当燃料耗尽时,推动力消失,加速度突变负,而此时速度由增大转为减少。此时速度迅速下降,但是由于它还是正值,故高度上升。速度为0时高度最大,无阻力作用,加速度等于重力加速度。这就是全过程中高度、速度、加速度的定性分析过程。

7页

.

题目6

一只小船渡过宽为d 的河流,目标是起点A 正对着的另一岸B 点。已知河水流速v1

与船在静水中的速度v2之比为k。

(1)建立描述小船航线的数学模型,求其解析解;

(2)设d=100m,v1=1m/s,v2=2m/s,用数值解法求渡河所需的时间、任意时刻小船的位置及航行曲线,作图,并与解析解比较。 (3)若流速v1=0,0.5,1.5,2(m/s),结果将如何?

6.1建立数学模型及分析

此种模型的前提是船并不事先知道水速,否则只要调整一个合适的角度,直接沿直线通过即可。现小船不知道水速,则它的策略应为始终使船头瞄准B点。对速度进行xy两个方向的分解,可列出常微分方程如下:

其初值条件为x(0)=0,y(0)=-d.

6.2 常微分方程解析解

两式相除,得

变量代换,令

,则有

代入有

分离变量积分可得

代入初值,可解出

整理得解析解最终表达式为

6.3 MATLAB数值解

先建立M文件函数

function dx=Guohe(t,x,v1,v2) s=(x(1)^2+x(2)^2)^0.5;

dx=[v1-x(1)/s*v2;-x(2)/s*v2]; end

ts=0:0.01:80;

8页

.

x0=[0,-100];

option=odeset('reltol',1e-6,'abstol',1e-9); [t,x]=ode23s(@Guohe,ts,x0,option,1,2); plot(t,x),grid

title('图1.分位移-时间') xlabel('t/s') ylabel('x,y/m') gtext('x(t)') gtext('y(t)') pause

plot(x(:,1),x(:,2)),grid, title('图2.过河轨迹') xlabel('x/m') ylabel('y/m') [t,x(:,1),x(:,2)]

9页

.

节选部分数据如下: t 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 x 0 0.009999 0.019996 0.029991 0.039984 0.049975 0.059964 0.069951 0.079936 0.089919 0.0999 0.10988 0.11986 0.12983 0.1398 0.14977 0.15974 0.16971 0.17968 0.18964 0.1996 y 0 0.009999 0.019996 0.029991 0.039984 0.049975 0.059964 0.069951 0.079936 0.089919 0.0999 0.10988 0.11986 0.12983 0.1398 0.14977 0.15974 0.16971 0.17968 0.18964 0.1996 10页