如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《数学软件与数学实验》课程设计实验题目导弹追击问题数学实验报告实验名称导弹追击问题课程设计问题背景描述:某军的一导弹基地发现正北方向200km处海面上有敌舰一艘以100km/h的速度向正东方向行驶.该基地立即发射导弹跟踪追击敌舰,导弹速度为500km/h,自动导航系统使导弹在任一时刻都能对准敌舰.实验目的与任务:(1)试问导弹在何时何处击中敌舰?(2)如果当基地发射导弹的同时,敌舰立即由仪器发觉.假定敌舰为一高速快艇,它即刻以150km/h的速度与导弹方向垂直的方向逃逸,问导弹何时何地击中敌舰?(3)如果敌舰以150km/h的速度与导弹方向成固定夹角的方向逃逸,问导弹何时何地击中敌舰?试建立数学模型.并选择若干特殊角度进行计算.试确定敌舰与导弹方向的最佳逃逸夹角?实验原理与数学模型:(含模型的假设、符号说明、模型的建立)实验原理:根据题意,导弹在任一时刻都能对准敌舰,可知导弹飞行方向会随t而改变,因此导弹的轨迹是一条斜率随着时间变化的曲线,且曲线上每一点的斜率方向都指向敌舰.故可以建立坐标轴进行分析。实验中考虑到敌艇体积大小,当导弹与敌艇距离小于10米时,视为追击成功.因实验所列方程较为复杂,所以本实验采用龙格-库塔方法求得数值解(matlab命令:ode45).第一题:根据快艇的定向运动,在t时刻竖直距离200km,水平距离150tkm,可以建立根据分速度的合成,纵向距离为定值,水平方向距离等于敌舰打中后的距离来建模。因此,每一点的速度可进行正交分解,从而联立微分方程组求解.第二题:由题意可知,敌舰任意时刻的速度方向都与导弹飞行方向垂直,即两者斜率关系呈负倒数关系,由此列方程组进行求解.第三题:实际上第二问是第三问的一个特殊情况,可以由类似方法得到导弹追击所用时间,通过对逃逸角度和追击时间作图分析,可以确定最优逃逸角.符号说明:导弹的位置为敌艇的位置为v:速度:比例系数st:快艇逃逸角度代码中方便起见,y1,y2分部由x(3),x(4)表示实验所用软件及版本:【实验环境】MATLAB主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)本文解决的是对导弹追击的问题:对于问题一:设坐标系如下,取基地为O(0,0),导弹的位置为,船的位置为,导弹时时刻刻指向船,可以得到运动轨迹的斜率为,即=。利用相似关系不难得到得v=得利用4阶龙根-库塔方法求数值解:(转下页)主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):新建M文件f1.m%%计算导弹在何时何处击中敌舰functionxprime=f1(t,x)xprime=[500/sqrt((100*t-x(1))^2+(200-x(2))^2)*(100*t-x(1));...500/sqrt((100*t-x(1))^2+(200-x(2))^2)*(200-x(2))];EndSolve1.m文件clearclcx0=[0;0];[T,Y]=ode45('f1',[0,1],x0);plot(Y(:,1),Y(:,2),'r*-');holdon;x=0:0.2:150;y=200;plot(x,y,'b.-');title('model1');forn=1:length(T)if(abs(200-Y(n,2))<=0.01)break;endendfprintf('time=%.3fhpoint=(%.3fkm,%.3fkm)\n',T(n),Y(n,1),Y(n,2));(转下页)主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):对于问题二:由垂直知,,即同理得%如果当基地发射导弹的同时,敌舰立即由仪器发觉.假定敌舰为一高速快艇,它即刻以150km/h的速度与导弹方向垂直的方向逃逸,问导弹何时何地击中敌舰?新建M文件f2.mfunctionxprime=f2(t,x)xprime=[500/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(2)-x(1));...150/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(4)-x(3));...500/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(4)-x(3));...-150/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(2)-x(1))];Endsolve2.m文件clearclcx0=[0;0;0;200];[T,Y]=ode45('f2',[0,1],x0);plot(Y(:,1),Y(:,3),'r*-');holdon;plot(Y(:,2),Y(:,4),'bd-');holdon;title('model