首页 > 其他分享 >数学实验3:导弹追踪问题

数学实验3:导弹追踪问题

时间:2023-01-15 10:22:49浏览次数:60  
标签:tau aoe ym ye vm 导弹 数学 xe 追踪

某军的一导弹基地发现正北方向120km处海面上有敌艇一艘向正东方向行驶。该基地立即发射导弹跟踪追击敌艇,导弹速度为450km/h,自动导航系统使导弹在任一时刻都能对准敌艇。而当基地发射导弹的同时,敌艇立即由仪器发觉。假定敌艇为一高速快艇,它即刻以135km/h的速度与导弹方向成固定角度逃逸。在导弹追踪过程中,飞行角度在1s内改变pi /180时,其速度相应减2%,试问导弹在何时何处击中敌艇?

 

解:仿真法

设固定角度为a,指从导弹运动方向顺时针到敌艇运动方向的夹角。取导弹基地为原点O(0,0),x轴指向正东方向,y轴指向正北方向,建立平面直角坐标系。并记 L=120km  Ve=135km/h

设敌艇在时刻的位置为导弹在  时刻的位置为 速度为 由题意可得,在时刻

 

其中,

 

可以化简为

 

 

在Matlab中输入文件missile_7.m为

 

function missile_7(tau,aoe,atte,dist)

%,MISSILE_7 此处显示有关此函数的摘要

%   此处显示详细说明

L=120

ve=135

vm(1)=450

xe(1)=ve*tau*sin(aoe)

ye(1)=L+ve*tau*cos(aoe)

xm(1)=vm(1)*tau

ym(1)=0

theta(1)=atan((ye(1)-ym(1))/(xe(1)-xm(1)))

for i=1:10e6

    M(i)=sqrt((xe(i)-xm(i))^2+(ye(i)-ym(i))^2)

    N(i)=(xe(i)-xm(i))

    Q(i)=(ye(i)-ym(i))

    xe(i+1)=xe(i)+ve*tau*(cos(aoe)*N(i)/M(i)+sin(aoe)*Q(i)/M(i))

    ye(i+1)=ye(i)+ve*tau*(cos(aoe)*Q(i)/M(i)-sin(aoe)*N(i)/M(i))  

   

    xm(i+1)=xm(i)+vm(i)*tau*N(i)/M(i)

    ym(i+1)=ym(i)+vm(i)*tau*Q(i)/M(i)

    theta(i+1)=atan((ye(i+1)-ym(i+1))/(xe(i+1)-xm(i+1)))

     if abs(theta(i+1)-theta(i))>=pi/180

        %theta1=theta(i+1)

        vm(i+1)=vm(i)*atte

     else

         vm(i+1)=vm(i)

     end

    if (xe(i)-xm(i))^2+(ye(i)-ym(i))^2<dist^2

        %距离小于dkm时视为击中

        break

    end

end

T=i*tau

hv=vm(i)

hx=xe(i)

hy=ye(i)

end

在Matlab中输入时间间隔tau、所成角度aoe,导弹转向后的速度衰减系数atte,及被视为击中的临界距离dist(以导弹的有效杀伤半径为参考,比如 0.1km)。另外,tau 取值要适中,以1/3600 为宜,得到的结果如下表:

 

hx,hy 为 敌艇被击中时的x,y 坐标 vm 为导弹击中敌艇时的速度

 

Euler法

由题意可得

 

 

化简

 

 

其中 SIGN1-4为各式的符号修正

在Matlab中输入missile_6.m文件

function missile_6(tau,aoe,atte,dist)

%MISSILE_6 此处显示有关此函数的摘要

%   此处显示详细说明

L=120

ve=135

vm=450

c=tan(aoe)

xe(1)=ve*tau*sin(aoe)

ye(1)=L+ve*tau*cos(aoe)

xm(1)=0

ym(1)=vm*tau

theta(1)=atan((ye(1)-ym(1))/(xe(1)-xm(1)))

if atte>1 || atte<0

    atte=1

end

for i=1:10e6

    tom(i)=(ye(i)-ym(i))/(xe(i)-xm(i))

    M(i)=(tom(i)-c)/(1+c*tom(i))

    P(i)=(xe(i)-xm(i))

    Q(i)=(ye(i)-ym(i))

    xe(i+1)=xe(i)+ve*tau/sqrt(1+M(i)^2)*(cos(aoe)*P(i)+sin(aoe)*Q(i))/abs(cos(aoe)*P(i)+sin(aoe)*Q(i))

ye(i+1)=ye(i)+ve*tau/sqrt(1+1/M(i)^2)*(cos(aoe)*Q(i)-sin(aoe)*P(i))/abs(cos(aoe)*Q(i)-sin(aoe)*P(i))

    xm(i+1)=xm(i)+vm*tau/sqrt(1+tom(i)^2)*((xe(i)-xm(i))/abs(xe(i)-xm(i)))

    ym(i+1)=ym(i)+vm*tau/sqrt(1+1/tom(i)^2)*((ye(i)-ym(i))/abs(ye(i)-ym(i)))

    theta(i+1)=atan((ye(i+1)-ym(i+1))/(xe(i+1)-xm(i+1)))

    if abs(theta(i+1)-theta(i))>=pi/180

        %theta1=theta(i+1)

        vm=vm*atte

    end

    if (xe(i)-xm(i))^2+(ye(i)-ym(i))^2<dist^2

        %距离小于dkm时视为击中

        break

    end

end

T=i*tau

vm=vm*1

hx=xe(i)

hy=ye(i)

end 

 

在Matlab中输入时间间隔tau、所成角度aoe,导弹转向后的速度衰减系数atte,及被视为击中的临界距离dist(以导弹的有效杀伤半径为参考,比如 0.1km)。另外,tau 取值要适中,以1/3600 为宜,得到的结果如下表:

 

 

 

 hx,hy 为 敌艇被击中时的x,y 坐标 vm 为导弹击中敌艇时的速度

 

 

标签:tau,aoe,ym,ye,vm,导弹,数学,xe,追踪
From: https://www.cnblogs.com/alpha-pluto/p/17053144.html

相关文章

  • 【数学1】快速幂与龟速乘
    快速幂与龟速乘一、快速幂1.算法原理求\(a^b\bmodp\)的结果。我们可以构造如下算法:\[a^b\bmodp=\begin{cases}(a^{\fracb2})^2\bmodp&\texttt{biseven}\\a......
  • [概率论与数理统计]笔记:3.3 随机向量的函数的分布与数学期望
    3.3随机向量的函数的分布与数学期望离散型随机向量的函数的分布定义离散型随机向量\((X,Y)\)的分布为\[P\{X=x_i,Y=y_j\}=p_{ij},\quadi,j=1,2,\cdots,\]随机向......
  • CF1768E Partial Sorting - 组合数学 -
    题目链接:https://codeforces.com/contest/1768/problem/E题解:记P1为将\(1..2\timesn\)排序,P2为将\(n+1..3\timesn\)排序首先观察到答案一定不会超过3(P1P2......
  • python 数学题 百元百鸡 百马百担 实现代码
    #母鸡三元一只,公鸡一元一只,小鸡0.5元一只,一百元全部买鸡,有多少种不同买法,分别是什么?count=0form_jinrange(1,100//3):forg_jinrange(1,100):forx_......
  • DRL数学基础 | 01 随机变量及数学期望
    导读深度强化学习是近几年比较热门的技术,也是被很多大牛看做是实现真正的人工智能的最理想的工具。深度强化学习用到很多数学概念,为了帮助大家更好地学习深度强化学习,我们同......
  • 如何学好数学?
    如何学好数学?如何学好数学呢?我们首先来看几道题,你就会发现的。例1:16-9=?好的,我们来计算一下这个算式,首先,我们列竖式来看看,$16-9$,首先先看个位$6-9$,不够......
  • 如何用线段树维护一些数学公式
    1.维护等差数列例1:洛谷P1438无聊的数列(插入等差数列,单点查询)这题有两个做法,第一个做法是用线段树维护等差数列,不过这里不多赘述,在下一个例子再详细介绍;第二个做法是用......
  • 数学建模之优化与迭代1
    大家好,我是gdut本科生一枚,本文是我的学习笔记,内容来自目前正在学习的章云教授的高等数学课程,视频来源于b站,如有侵权请联系我删除,谢谢。内容写的一般,希望这个博客能帮助大家......
  • [NOIP1999 普及组] 导弹拦截
    题目传送门分析 1e5的数据,要nlogn才能过 第一问求的是 最长不上升序列,第二问求的是 最少的不上升子列个数第一问:传统的dp求LIS是\(n^2\)的复杂度,事实上第二层......
  • 周赛题目证明+at数学题
    题目链接:https://www.acwing.com/problem/content/4795/比赛的时候感觉插入到最后面是最大的,当时只是感觉并没严格证明,y总说比赛的时候可以不用严格证明,赛后要这样做,这样......