《数学建模》课程作业题-11
第四章 微分方程模型-导弹跟踪
1.编程实现课本中的导弹跟踪的仿真方法。 一、问题提出
某军的一导弹基地发现正北方向120km处海面上有敌艇一艘以90km/h 的速度向正东方向行驶。该基地立即发射导弹跟踪追击敌艇,导弹速度为450km/h,自动导航系统使导弹在任一时刻都能对准敌艇。试问导弹在何时何处击中敌艇? 二、模型建立
设坐标如图1所示,取导弹基地为圆点(0,0),x轴指向正东方,y轴指向正北方。
b
图1:导弹飞行示意图
当t=0时,导弹位于O,敌艇位于点A(0,H),其中H=120km,设导弹在t时刻的位置为p(x(t),y(t)),由题意
其中vw = 450 km/h。
另外在t时刻,敌艇位置应为M(vet,H),其中ve= 90 km/h。由于导弹轨迹的切线方向必须指向敌舰,即直线PM的方向就是导弹轨迹上点P的切线方向,故有
?dx??dy?2??v????w
?dt??dt?22(1)
dyH?y?dxvet?x(2)
方程(1)(2),连同初值条件x(0)=0,y(0)=0构成了一个关于时间变量t的一阶微分方程组的初值问题。
??dx?2?dy?22???????vw??dt??dt? ?dx?H?y??dy?dx?dt?vt?x??e?? (3)
消去t,最终得到轨迹方程,可得到一个二阶非线性微分方程,加上初值条件,最终的数学模型为:
?d2xveH?y??22vw?dy?dx???dy??1 ?????dx?0,xy?0?0y?0??dy(4)
三、模型求解
令p?vdx,记??e,将初值问题(4)化为一阶微分方程组 dyvw?dx?dy?p???dp?p2?1
??H?y?dy?x(0)?0???y(0)?0 (5)
取自变量y的步长为h=H/n。
仿真方法,就是模仿真实时间行为和过程的方法。
设导弹和敌艇在初始时刻(t=0)分别位p0(0,0)和M0(0,H),此时导弹位于M0。
在t??时,导弹的位置为p1(x1,y1),其中x1?0,y1?vw?敌艇的位置则为
M1(ve?,H)。这时导弹沿P1M1方向飞行,P1M1的斜角为:
?1?arctanH?vw? ve?(8)
在t?2?时,导弹的位置为p2(x2,y2),其中
x2?x1?vw?cos?1y2?y1?vw?sin?1,敌艇的位
置则为M2(2ve?,H),这时导弹沿P2M2方向飞行。
以此方式,一般的,设t?k?时,导弹的位置为pk(xk,yk),敌艇的位置则为
Mk(kve?,H),这时导弹沿PkMk方向飞行,PkMk的斜角为:
?k?arctanH?yk
kve??xk(9)
?时,导弹位置为pk+1(xk+1,yk+1),其中, 从而t?(k?1)xk?1?xk?vw?cos?kyk?1?yk?vw?sin?k
cos?k?sin?k?kve??xk(kve??xk)?(H?yk)22
(10)
kve??yk(kve??xk)2?(H?yk)2敌艇的位置则为Mk?1((k?1)ve?,H)。计算至yk?H,yk?1?H时,仿真停止;或事先给定误差界,这时,有L?xk?1,T?L。 对于?? 0.1,0.05,0.005,ve0.001,0.0001,用仿真迭代格式(10)进行计算,结果见表5(附录一)
表5:不同步长分割下的仿真结果
? L T 0.1 22.675 0.2519 0.01 25.265 0.2807 0.005 25.667 0.2852 0.001 25.049 0.2783 0.0001 25.006 0.。2778 此时L?21.2781km,T?0.2364h ,精确解L?25km,T?0.2778h,结果与改进算法几乎一致。