导弹追击模型-matlab求解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数学软件与数学实验》
课程设计
实验题目导弹追击问题
数学实验报告
实验
导弹追击问题课程设计
名称
问题背景描述:
某军的一导弹基地发现正北方向200 km处海面上有敌舰一艘以100 km/h的速度向正东方向行驶. 该基地立即发射导弹跟踪追击敌舰, 导弹速度为500 km/h,自动导航系统使导弹在任一时刻都能对准敌舰.
实验目的与任务:
(1)试问导弹在何时何处击中敌舰?
(2)如果当基地发射导弹的同时,敌舰立即由仪器发觉. 假定敌舰为一高速快艇,它即刻以150 km/h的速度与导弹方向垂直的方向逃逸,问导弹何时何地击中敌舰?
(3)如果敌舰以150 km/h的速度与导弹方向成固定夹角的方向逃逸, 问导弹何时何地击中敌舰?试建立数学模型.并选择若干特殊角度进行计算.试确定敌舰与导弹方向的最佳逃逸夹角?
实验原理与数学模型:(含模型的假设、符号说明、模型的建立)
实验原理:
根据题意,导弹在任一时刻都能对准敌舰,可知导弹飞行方向会随t 而改变,因此导弹的轨迹是一条斜率随着时间变化的曲线,且曲线上每一点的斜率方向都指向敌舰.故可以建立坐标轴进行分析。
实验中考虑到敌艇体积大小,当导弹与敌艇距离小于10米时,视为追击成功.因实验所列方程较为复杂,所以本实验采用龙格-库塔方法求得数值解(matlab命令:ode45).
第一题:根据快艇的定向运动,在t时刻竖直距离200km,水平距离150t km,可以建立根据分速度的合成,纵向距离为定值,水平方向距离等于敌舰打中后的距离来建模。
因此,每一点的速度可进行正交分解,从而联立微分方程组求解.
第二题:由题意可知,敌舰任意时刻的速度方向都与导弹飞行方向垂直,即两者斜率关系呈负倒数关系,由此列方程组进行求解.
第三题:实际上第二问是第三问的一个特殊情况,可以由类似方法得到导弹追击所用时间,通过对逃逸角度和追击时间作图分析,可以确定最优逃逸角.
符号说明:
导弹的位置为
敌艇的位置为
v:速度
:比例系数
st:快艇逃逸角度
代码中方便起见,y1,y2分部由x(3),x(4)表示
实验所用软件及版本:
【实验环境】
MATLAB
主要内容(要点):(模型的求解原理、公式、推导、基本求解步
骤、算法的流程图等)
本文解决的是对导弹追击的问题:
对于问题一:设坐标系如下,取基地为O(0,0),导弹的位置为,船的位置为,导弹时时刻刻指向船,可以得到运动轨迹的斜率为 ,即=。
利用相似关系不难得到
得v=
得利用4阶龙根-库塔方法求数值解:
(转下页)
主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):
新建M文件f1.m
%%计算导弹在何时何处击中敌舰
function xprime=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))];
End
Solve1.m文件
clear
clc
x0=[0;0];
[T,Y]=ode45('f1',[0,1],x0);
plot(Y(:,1),Y(:,2),'r*-');
hold on;
x = 0 : 0.2 : 150;
y =200;
plot(x,y,'b.-');
title('model 1');
for n=1:length(T)
if(abs(200-Y(n,2))<=0.01)
break;
end
end
fprintf('time=%.3fh point=
(%.3fkm,%.3fkm)\n',T(n),Y(n,1),Y(n,2));
-150/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(2)-
x(1))];
End
solve2.m文件
clear
clc
x0=[0;0;0;200];
[T,Y]=ode45('f2',[0,1],x0);
plot(Y(:,1),Y(:,3),'r*-');hold on;
plot(Y(:,2),Y(:,4),'bd-');hold on;
title('model 2');
for n=1:length(T)
if(abs(Y(n,1)-Y(n,2))+abs(Y(n,3)-Y(n,4))<=0.1) break;
end
end
fprintf('time=%.3fh point=
(%.3fkm,%.3fkm)\n',T(n),Y(n,1),Y(n,2));
(转下页)
主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):
对于问题三:
如果敌舰以150 km/h的速度与导弹方向成固定夹角的方向逃逸, 问导弹何时何地击中
敌舰?试建立数学模型.并选择若干特殊角度进行计算.试确定敌舰与导弹方向的最佳
逃逸夹角?
设夹角为θ,则
以下用和角公式展开即可
新建M文件f3.m
function xprime = f3(t,x)
global st; st=-pi/4;
xprime=[500/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*
(x(2)-x(1)); ...
-150*sin(st)*(x(4)-x(3))/sqrt((x(2)-x(1))^2+(x(4)-x(3))^2)+150*cos(st)*(x(2)-x(1))/sqrt((x(2)-
x(1))^2+(x(4)-x(3))^2); ...
500/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(4)-x(3)); ...
150*cos(st)*(x(4)-x(3))/sqrt((x(2)-x(1))^2+(x(4)-x(3))^2)+150*sin(st)*(x(2)-x(1))/sqrt((x(2)-
x(1))^2+(x(4)-x(3))^2)];
End
(转下页)
主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):
Solve3.m文件
clear
clc
x0=[0;0;0;200];
[T,Y]=ode45('f3',[0,1],x0);
plot(Y(:,1),Y(:,3),'r*-');hold on;
plot(Y(:,2),Y(:,4),'bd-');hold on;
title('model 2');
for n=1:length(T)
if(abs(Y(n,1)-Y(n,2))+abs(Y(n,3)-Y(n,4))<=0.1) break;
end
end
fprintf('time=%.3fh point=
(%.3fkm,%.3fkm)\n',T(n),Y(n,1),Y(n,2));
%%这边逃逸角度选取了东北方向
主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):
最优化问题:
求最佳逃逸角度
由对称性,只需计算一侧(取-pi到0),再细分后把各个角度值代入绘图既可得到角度与时间的函数图像,以此为依据判断极值点clear
clc
x0=[0;0;0;200];k=1;t=0:100;
global st; st=-pi:pi/100:0;
for st=-pi:pi/100:0;
[T,Y]=ode45('f2',[0,1],x0);
for n=1:length(T)
if(abs(Y(n,1)-Y(n,2))+abs(Y(n,3)-Y(n,4))<=0.1)
t(k)=T(n);k=k+1;
break;
end
end
end
st=-pi:pi/100:0;
plot(st,t,'k.-');
(转下页)
实验过程记录(含:主要程序清单以及异常情况及程序调试过程记录等)(接上页):
第一题:
结论: time=0.446h point=(66.623km,199.992km)
第二题: 这里考虑到龙格库塔数值解的步长问题, 实际距离取了100米因此处取值时出现较大数量级差别,原计划采用ode15s求得刚性
数值解,然软件运行迟迟无果,遂仍采用ode45 解决问题
结论:
time=0.404h point=(55.031km,55.021km)
(转下页)
实验过程记录(含:主要程序清单以及异常情况及程序调试过程记录等)(接上页):
第三题: θ取 -pi/4时
结论: time=0.512h point=(63.779km,63.728km)
θ取 -3pi/4时
结论: time=0.335h point=(28.015km,28.026km)
(转下页)
实验过程记录(含:主要程序清单以及异常情况及程序调试过程记录等)(接上页):
第三题:
如图可知,当角度st=0时,即与导弹同向逃逸为最佳逃逸角
实验结果报告与实验总结:
大部分结论已经在上面给出
由第一问得知由于导弹的速度远大于敌舰的速度,所以舰艇是不可能摆脱导弹的,只能尽可能的拖延时间,以求得到救援,而敌舰所获拖延时间的多少与其选取的与导弹的夹角密切相关,而我们的第二题、第三题第二小问则是通过若干特殊角度进行计算,得敌舰与导弹方向的最佳逃逸夹角为0度。
思考与深入:
应用计算机编程求解,可以处理一系列复杂的动态问题。
matlab可以处理大量的数据,并绘制曲线图,能直接明了地看出趋势,以及方便做出判断。
精确的攻击时间和攻击角度的控制对于提高导弹的杀伤力至关重要。
本题对导弹攻击高速运动的敌舰,针对敌舰的逃逸,及研究敌舰逃逸方向与导弹方向成何夹角逃逸最好。
该模型的的预测结果对国防部署至关重要,在资金以及技术的限制下,来最大程度提高攻击与防御能力。
但还存在缺陷就是求解过程中求的大部分是近似解,并且在求解过程中,我们忽略了敌舰改变逃逸方向所需的时间以及导弹随之改变方向的时间,而这些在实际情况中都是必须考虑的因素,所以此模型还存在一定缺陷,需进一步改进。
同时对于问题假设我们也忽略了敌舰的反应时间,以及敌舰对导弹的干扰能力。
进一步若敌
艇是一艘飞艇,并且如果敌舰能够在短时间内逃离出导弹攻击的射程范围,那问题变得更加复杂,还需要进一步建立模型。
参考文献:
<<数学软件与数学实验>>
<<常微分方程>>。