运动学导弹拦截计算方法matlab源码

Posted MatlabQQ1575304183

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运动学导弹拦截计算方法matlab源码相关的知识,希望对你有一定的参考价值。

一、简介

说明导弹拦截的计算方法。通过动画和互动演示拦截过程。

二、源代码

%导弹拦截
clear                                  %清除变量
rand('state',0)                        %随机状态初始化
v2=1.1;                                 %拦截导弹速率与来袭导弹初速度之比
%v2=1;                                   %拦截导弹速率与来袭导弹初速度之比
%v2=0.9;                                 %拦截导弹速率与来袭导弹初速度之比
T=linspace(0,1);                       %飞行时间
while 1                                %做无限循环
    figure                             %创建图形窗口
	axis([0,1,-0.2,0.6])               %坐标范围
    axis equal off                     %隐藏坐标
    title('导弹拦截','FontSize',20)    %标题
    text(0,0.5,'导弹来袭时,按空格键发射拦截导弹.','FontSize',16)%显示操作方法
    hold on                            %保持图像
    plot([0,1],[0,0])                  %画地平线
    th=90*rand;                        %0到90度之间的随机角度
    th=th*pi/180;                      %化为弧度
    xx1=0;yy1=0;                       %来袭导弹的初坐标
    xx2=1;yy2=0;                       %拦截导弹的初坐标
    x2=1;y2=0;                         %拦截导弹的终坐标的初值
    c='';                              %字符变量置空
    dt=0;                              %时间间隔取0
    for t=T                            %按来袭导弹的时间循环
        x1=t*sin(2*th);                %计算来袭导弹的横坐标
        y1=2*sin(th)^2*(t-t^2);        %计算来袭导弹纵坐标
        plot([xx1,x1],[yy1,y1],'k','LineWidth',2)%画来袭导弹轨迹
        s=sqrt((x2-x1)^2+(y2-y1)^2);   %计算两弹之间的距离
        if s<=0.02|y1<=0&t~=0          %如果两导弹距离很小或对方导弹落地
            plot(x1,y1,'*','MarkerSize',20)%画爆炸射线
            break                      %退出循环
        end                            %结束循环
        xx1=x1;yy1=y1;                 %保存来袭导弹的坐标
        c=get(gcf,'CurrentCharacter'); %从键盘取图形窗口的当前字符
        if length(c)~=0&&c==' '        %如果c中有字符且为空格
            dt=T(2);                   %取时间间隔
        end                            %结束条件

三、运行结果

在这里插入图片描述

四、备注

代码下载https://www.cnblogs.com/ttmatlab/p/14882966.html

以上是关于运动学导弹拦截计算方法matlab源码的主要内容,如果未能解决你的问题,请参考以下文章

车辆计数基于matlab GUI背景差分法道路行驶多车辆检测含Matlab源码 1911期

导弹仿真基于matlab导弹轨迹和撞击位置仿真含Matlab源码 2067期

导弹仿真基于matlab导弹轨迹和撞击位置仿真含Matlab源码 2067期

气动学基于matlab气动力导弹姿态控制含Matlab源码 969期

运动学斜抛物体斜坡射程matlab源码

气动学基于matlab气动力导弹姿态控制含Matlab源码 969期