资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
导弹跟踪问题摘要 本文研究的是导弹跟踪敌艇问题。通过建立合理的数学模型,利用matlab软件模拟导弹跟踪敌艇的过程,并进行分析计算最终求得导弹击中敌艇的时间和位置。首先我们根据问题中的条件粗略描绘出导弹和敌艇的运动轨迹并对其进行分析,利用在任何时刻导弹的飞行方向指向敌机的位置得出导弹的运动轨迹满足微分方程组的结论。然后结合初值条件,并经过严格的数学公式推导和合理的假设,求解出导弹运动轨迹的方程。在matlab中分别采用Euler法、改进的Euler法和仿真方法近似计算导弹轨迹上的一系列点,接着对这些点进行精确度分析,绘制出导弹运动轨迹的曲线,并比较这三种数值方法的精确度。最后我们对该模型进行分析评价,指出该模型的优点和不足。关键词 导弹跟踪 运动轨迹 matlab 常微分方程 Euler法正文1 模型问题详述 某军的一导弹基地发现正北方向120km处海面上有敌艇一艘以90km/h的速度向正东方向行驶。该基地立即发射导弹跟踪追击敌艇,导弹的速度为450km/h,自动导航系统使导弹在任一时刻都能对准敌艇。试问导弹在何时何处击中敌艇?并绘制导弹轨迹曲线图。2. 模型假设假设一:导弹与敌艇的速率恒定。假设二:导弹飞行的轨迹切线方向始终指向敌艇。假设三:导弹飞行的轨迹和敌艇行驶的高度始终在同一平面内。假设四:导弹与敌艇的长度可以忽略,均可看成物理质点。假设五:外界对导弹和敌艇的运动没有影响3. 数据字典 (x,y) 坐标位置 t 经历的时间 ve 敌艇的速度 vw 导弹飞行的速度 H 敌艇最初点与导弹的距离 4. 问题分类及分析问题一 导弹在何时何处击中敌艇?分析:由于敌艇的运行轨迹和导弹的运行轨迹是处于同一平面内,故可建立起平面直角坐标系。又由于导弹飞行方向始终指向敌机,即导弹飞行方向随时间的改变而改变,故可建立起微分方程并求解。问题二 绘制导弹轨迹曲线图。分析:由于导弹运动轨迹满足微分方程,所以我们可以利用Euler法、改进Euler法、仿真方法分别对所建立的数学模型进行数值求解,并绘制出导弹运动轨迹曲线图像。 5. 建模设坐标系如下,取导弹基地为原点0(0,0)。轴指向正东方,y轴指向正北方。当t=0时,导弹位于O,敌艇位于点(0,H),(H=120(km)设导弹t时刻的位置为P(),由题意, (1)其中。另外在t时刻,敌艇位置应该为,其中=90(km/h)。由于导弹轨迹的切线方向必须指向敌艇,即直线PM的方向就是导弹轨迹上点P的切线方向,故有 (2) (3)方程(3)初值条件想 x(0)=0,y(0)=0 (4)构成了一个关于时间变量t的一阶微分方程组的初值问题。由(2)得两边对t求导得即有把(1)写为代入上式,就得到轨迹方程。这是一个二阶非线性微分方程,加上初值条件,则初值问题 上式分别为(5),(6),(7)。就是导弹的轨迹的数学模型。方程(5)可以降阶。令,则式(5)化为一介可分离变量方程易得由式(7)得,从而于是有 (8)于是积分又可以得到利用式(6)得,于是导弹轨迹方程为 (9)设导弹击中敌艇于B(L,H),以y=H代入(9)得 (10)而导弹击中敌艇的时刻 (11)将数据代入(10),(11)式,得L=25(km), T0.2778(h)接下来用数值方法求解(1)Euler法由方程(1),(3)解出的表达式,取时间步长,对应时导弹轨迹上点的坐标为,则Euler格式为上式分别为(12)(13)(14)当计算到即停止,于是,使用matlab,编辑m文件:function Euler(t)H=120;Ve=90;Vw=450;x(1)=0;y(1)=0;T(1)=0;for i=1:10e6 M=(Ve*T(i)-x(i)/(H-y(i); x(i+1)=x(i)+Vw*t/sqrt(1+1/M.2); y(i+1)=y(i)+Vw*t/sqrt(1+M.2); T(i+1)=t+T(i); if y(i+1)=H break; endendT;x;yL=x(i+1)T=x(i+1)/Veplot(x,y)运行结果:Euler(0.01)ans = 0 0 0 0.0100 0 4.5000 0.0200 0.0351 8.9999 0.0300 0.1066 13.4993 0.0400 0.2162 17.9980 0.0500 0.3654 22.4955 0.0600 0.5560 26.9914 0.0700 0.7901 31.4854 0.0800 1.0696 35.9767 0.0900 1.3971 40.4647 0.1000 1.7750 44.9488 0.1100 2.2062 49.4281 0.1200 2.6939 53.9016 0.1300 3.2417 58.3682 0.1400 3.8535 62.8264 0.1500 4.5340 67.2746 0.1600 5.2884 71.7109 0.1700 6.1228 76.1329 0.1800 7.0443 80.5375 0.1900 8.0613 84.9211 0.2000 9.1841 89.2788 0.2100 10.4254 93.6042 0.2200 11.8010 97.8888 0.2300 13.3318 102.1204 0.2400 15.0464 106.2810 0.2500 16.9861 110.3414 0.2600 19.2171 114.2495 0.2700 21.8642 117.8886 0.2800 25.2645 120.8361L = 25.2645T = 0.2807绘制出导弹运动轨迹曲线:(2) 改进Euler法改进的Euler迭代式(3)上式分别为(15)(16)(17)(18)(19)使用matlab,编辑m文件: function Euler2(t)H=120;Ve=90;Vw=450;x(1)=0;y(1)=0;T(1)=0;for i=1:10e6 M=(Ve*T(i)-x(i)/(H-y(i); x1(i+1)=x(i)+Vw*t/sqrt(1+1/M.2); y1(i+1)=y(i)+Vw*t/sqrt(1+M.2); T(i+1)=i*t; x(i+1)=0.5*(x1(i+1)+x(i)+Vw*t/sqrt(1+(H-y1(i+1)/(Ve*T(i+1)-x1(i+1).2); y(i+1)=0.5*(y1(i+1)+y(i)+Vw*t/sqrt(1+(Ve*T(i+1)-x1(i+1)/(H-y1(i+1).2); if y(i+1)=H break; endendT;x;yL=x(i+1)T=x(i+1)/Veplot(x,y)运行结果: Euler2(0.01)ans = 0 0 0 0.0100 0.0175 4.4999 0.0200 0.0702 8.9996 0.0300 0.1593 13.4987 0.0400 0.2864 17.9968 0.0500 0.4533 22.4937 0.0600 0.6616 26.9888 0.0700 0.9133 31.4817 0.0800 1.2106 35.9718 0.0900 1.5557 40.4585 0.1000 1.9514 44.9410 0.1100 2.4004 49.4184 0.1200 2.9059 53.8898 0.1300 3.4715 58.3540 0.1400 4.1013 62.8096 0.1500 4.7998 67.2549 0.1600 5.5722 71.6879 0.1700 6.4248 76.1062 0.1800 7.3646 80.5067 0.1900 8.4002 84.8856 0.2000 9.5420 89.2379 0.2100 10.8027 93.5571 0.2200 12.1989 97.8342 0.2300 13.7520 102.0565 0.2400 15.4924 106.2045 0.2500 17.4657 110.2452 0.2600 19.7531 114.1118 0.2700 22.5713 117.5719 0.2800 23.9104 121.6546L = 23.9104T =0.2657绘制出导弹运动轨迹曲线:(3) 仿真方法 设导弹和敌艇在初始时刻分别位于。此时,导弹指向。而在时,导弹的位置,其中,敌艇的位置则为。这时导弹沿方向飞行,的倾角为;在时导弹的位置为。以此方式,当时,导弹的位置为,其中
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号