数学建模导弹跟踪问题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

导弹跟踪问题摘要本文研究的是导弹跟踪敌艇问题。通过建立合理的数学模型,利用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)。x轴指向正东方,y轴指向正北方。当t=0时,导弹位于O,敌艇位于点(0,H),(H=120(km))设导弹t时刻的位置为P()(),(tytx),由题意,(1)其中)/(450hkmvw。另外在t时刻,敌艇位置应该为),(HtMve,其中ve=90(km/h)。由于导弹轨迹的切线方向必须指向敌艇,即直线PM的方向就是导弹轨迹上点P的切线方向,故有xtyHdxdyve(2))(xyHdtdxdtdyve(3)方程(3)初值条件想x(0)=0,y(0)=0(4)构成了一个关于时间变量t的一阶微分方程组的初值问题。由(2)得xtyHdydxve)(两边对t求导得dtdxdtdydydxyHdtdydxvyde)(22即有vydeyHdtdydx22把(1)写为12dydxvedtdy代入上式,就得到轨迹方程。这是一个二阶非线性微分方程,加上初值条件,则初值问题dydxxvvdydxydyyweyHdx0022211上式分别为(5),(6),(7)。就是导弹的轨迹的数学模型。方程(5)可以降阶。令vvwdydxpe,记,则式(5)化为一介可分离变量方程yHdydpp12易得12pyHpC由式(7)得HC,从而yHHpp12于是有HyHyHHp21(8)于是积分又可以得到CyHHHyHx1111121利用式(6)得211HC,于是导弹轨迹方程为21111121HxyHHHyH(9)设导弹击中敌艇于B(L,H),以y=H代入(9)得vvvvewHHLwe2221(10)而导弹击中敌艇的时刻vvvvewHLTwe22(11)将数据代入(10),(11)式,得L=25(km),T0.2778(h)接下来用数值方法求解(1)Euler法由方程(1),(3)解出dtdy和dtdx的表达式,取时间步长tt,对应kttk时导弹轨迹上点的坐标为yxkk,,则Euler格式为0,011002121yxyHxtvvyyxtvyHvxxkkkekkekwkkwkk上式分别为(12)(13)(14)当计算到HHyykk1,即停止,于是,vxxekkLTLL,1或使用matlab,编辑m文件:functionEuler(t)H=120;Ve=90;Vw=450;x(1)=0;y(1)=0;T(1)=0;fori=1:10e6M=(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);ify(i+1)=Hbreak;endend[T;x;y]'L=x(i+1)T=x(i+1)/Veplot(x,y)运行结果:Euler(0.01)ans=0000.010004.50000.02000.03518.99990.03000.106613.49930.04000.216217.99800.05000.365422.49550.06000.556026.99140.07000.790131.48540.08001.069635.97670.09001.397140.46470.10001.775044.94880.11002.206249.42810.12002.693953.90160.13003.241758.36820.14003.853562.82640.15004.534067.27460.16005.288471.71090.17006.122876.13290.18007.044380.53750.19008.061384.92110.20009.184189.27880.210010.425493.60420.220011.801097.88880.230013.3318102.12040.240015.0464106.28100.250016.9861110.34140.260019.2171114.24950.270021.8642117.88860.280025.2645120.8361L=25.2645T=0.2807绘制出导弹运动轨迹曲线:(2)改进Euler法改进的Euler迭代式051015202530020406080100120140(3)0,011111*1*111211*11*1121002*2*2*12*1yxyHxtvvyyxtvyHvxxyHxtvvyyyxtvyHvxxxkkkekkkekkkkkekkkekkwkwkwkkwkk上式分别为(15)(16)(17)(18)(19)使用matlab,编辑m文件:functionEuler2(t)H=120;Ve=90;Vw=450;x(1)=0;y(1)=0;T(1)=0;fori=1:10e6M=(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));ify(i+1)=Hbreak;endend[T;x;y]'L=x(i+1)T=x(i+1)/Veplot(x,y)运行结果:Euler2(0.01)ans=0000.01000.01754.49990.02000.07028.99960.03000.159313.49870.04000.286417.99680.05000.453322.49370.06000.661626.98880.07000.913331.48170.08001.210635.97180.09001.555740.45850.10001.951444.94100.11002.400449.41840.12002.905953.88980.13003.471558.35400.14004.101362.80960.15004.799867.25490.16005.572271.68790.17006.424876.10620.18007.364680.50670.19008.400284.88560.20009.542089.23790.210010.802793.55710.220012.198997.83420.230013.7520102.05650.240015.4924106.20450.250017.4657110.24520.260019.7531114.11180.270022.5713117.57190.280023.9104121.6546L=23.9104T=0.2657绘制出导弹运动轨迹曲线:(3)仿真方法设导弹和敌艇在初始时刻分别位于.0,0)0,0(Mp00和。此时,导弹指向M0。而在t时,导弹的位置yxp111,,其中vyxw11,0,敌艇的位置则为HvMe,1。这时导弹沿Mp11方向飞行,Mp11的倾角为vvewHarctan1;在2t时导弹的位置为yxp222,。以此方式,当1kt时,导弹的位置为yxpkkk111,,其中kwkkvxxcos1(20)kwkkvyysin1(21)yHxvkxvkkekkek22cos(22)yHxvkykkeHkk22sin(23)而敌艇的位置为HkvMek,11。如之前一样,当HHyykk1,时,仿真停止。这时xkL1,veLT建立m.文件functionm4_4(t)H=120;Ve=90;Vw=450;x(1)=0;y(1)=0;fori=1:10e60510152025020406080100120140M=sqrt(((i-1)*Ve*t-x(i)).^2+(H-y(i)).^2);ctheta=((i-1)*Ve*t-x(i))./M;stheta=(H-y(i))./M;x(i+1)=x(i)+Vw*t*ctheta;y(i+1)=y(i)+Vw*t*stheta;ify(i+1)=Hbreak;endend[x;y]'L=x(i+1)T=x(i+1)/Veplot(x,y)运行结果:fangzhen(0.01)ans=0004.50000.03518.99990.106613.49930.216217.99800.365422.49550.556026.99140.790131.48541.069635.97671.397140.46471.

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功