利用MATHLAB研究火箭升空问
论文摘要,运用物理学的方法和微积分的知识来建立数学模型,借促MATLAB软件,得到结果,在第60秒引擎刚关闭时,火箭的高度为9317.8米,速度为274m/s,加速度为132.7931m/s ,火箭达到最高点的时间为70.2s,高度为14604m.k的值估计为0.4904.
论文关键词,火箭升空,牛顿第二定律,软件
一、问题重述
火箭的质量为300千克(kg),携带900千克燃料并以15kg/s速率燃烧而产生恒定40000牛顿推力.同时受与速度的平方成正比,比例系数为k的空气阻力,在t时间时高度x(t),速度为v(t),取重力加速度g为9.8m/s.
二、问题假设
1.空气的阻力f与速度平方v成正比,比例系数为k,
2.燃料以15千克/秒的速率燃烧,并产生40000牛顿的恒定推力,
3.重力加速度g为9.8m/s,
4.火箭本身的质量为m,剩下燃料的质量为m,
5.火箭运行的高度x(米)与时间t(秒)和速度v(米/秒)对应的关系,x(t)为火箭在时t的高度测有一组数据如下:
三、模型求解
1.建立模型
由物理学可知,在t时刻,火箭和燃料的质量为1200-15t,重力产生的
阻力为(1200-15t)×9.8,空气阻力为kv,那么,由牛顿第二定律可得
,0
t 10 11 12 13 14 15 16 17 18 19 20 x 1070 1270 1480 1700 1910 2140 2360 2600 2830 3070 3310 v 190 200 210 216 225 228 231 234 239 240 246 ----------------------------------------------------------------------
,科研项目,安康学院大学生科技创新项目,2009AKXYDXS06,.
t>60
由,可得到,0(1)
t>60,2,
,3,
2.模型求解
当0时,令a=dv/dt.由t和v的对应关系在matlab中编程以及给出的公
式
t=10:20,
v=[190200210216225228231234239240246],
fori=3:10
a(i)=(1/12)*(v(i-2)-8*v(i-1)+8*v(i+1)-v(i+2)),
end
a=[10107.75007.6676.252.52.8334.33332.753.58.5]
将a的值代入,3,中,在matlab中可求得k=0.4904.
在(1)式中,由,得
,4,
求解过程,编写m文件如下:
-------------------------------------------------------------------------------------------------------
--------
functionxdot=wf(t,x)
xdot=zeros(2,1)
xdot(1)=x(2)
xdot(2)=[28240+147*t-0.4904*x(2). ]/(1200-15*t)
在命令窗口中执行:
xspan=0:1:60,x0=[00]’,
[t,x]=ode45(‘wf’,xspan,x0),
plot(t,x)
结果为:
ans=1.0e+004*
-------------------------------------------------------------------------------------------------------
---------
Columns1through10
………………
Column61
1.3807
0.0274
故在t=60s时,x(t)=1.3807*10,v(t)=0.0274*10m/s.
此时关闭引擎,t=60s,火箭推力为0时只受空气阻力与自身重力作用m=300kg,所以
加速度.
火箭关闭引擎后,t>60,
,转化为
设,得微分方程组
,,5,
求解过程,编写m文件如下:
-------------------------------------------------------------------------------------------------------
---------------------------
functionact=wf(t,y)
act=zeros(2,1),
act(1)=y(2),
act(2)=-[0.4904*y(2). /300+9.8]
在命令窗口中执行:
vspan=60:0.2:74,
[t,y]=act(‘wf’,vspan,[13807274]),
输出的结果:
ans=1.0e+004*
---------------------------------------------------------------------------------------Columns1th
rough10
………………
1.4604
0.0000
由输出的结果可知道:当t=70.2时,y(1)=14604,y(2)=0,即此时的速度v=0m/s,而且此时火箭达到最大高度.
所以火箭升到最大高度所花的总时间T=70.2s.关闭引擎后,火箭上升到最大高度H=14604m.至此,问题得到解决.
参考文献
1 阳明盛、熊西文,MATLAB基础及数学软件.大连:大连理工大学出版社,2003.8.
2 夏玮、李朝晖,控制系统仿真与实例详解.北京:人民邮电出版社,2008.10.
3 胡祥青,大学物理.北京:北京师范大学出版社,2005.5.