当前位置: 首页 > news >正文

matlab实践(十一):导弹追踪

1.题目

在这里插入图片描述
a=9.94,x0=62.06

2.方程

我们有:
( d x d t ) 2 + ( d y d t ) 2 = w 2 (\frac{\mathrm d\mathrm x}{\mathrm d\mathrm t})^2+(\frac{\mathrm d\mathrm y}{\mathrm d\mathrm t})^2=\mathrm w^2 (dtdx)2+(dtdy)2=w2
还有导弹始终指向船
( d x d t d y d t ) = λ ( X − x Y − y ) \left.\left(\begin{array}{c}\frac{\mathrm{dx}}{\mathrm{dt}}\\\frac{\mathrm{dy}}{\mathrm{dt}}\end{array}\right.\right)=\lambda\left(\begin{array}{c}\mathrm{X-x}\\\mathrm{Y-y}\end{array}\right) (dtdxdtdy)=λ(XxYy)
则有:
{ d x d t = w ( X − x ) 2 + ( Y − y ) 2 (X-x) d y d t = w ( X − x ) 2 + ( Y − y ) 2 (Y-y) \begin{cases}&\frac{\mathrm{dx}}{\mathrm{dt}}=\frac{\mathrm{w}}{\sqrt{(\mathrm{X}-\mathrm{x})^2+(\mathrm{Y}-\mathrm{y})^2}}\text{(X-x)}\\&\frac{\mathrm{dy}}{\mathrm{dt}}=\frac{\mathrm{w}}{\sqrt{(\mathrm{X}-\mathrm{x})^2+(\mathrm{Y}-\mathrm{y})^2}}\text{(Y-y)}\\\end{cases} dtdx=(Xx)2+(Yy)2 w(X-x)dtdy=(Xx)2+(Yy)2 w(Y-y)
先编写函数:

function dy=eq1(t,y)v0=10;a=9.94;x0=62.06;dy=zeros(2,1);dy(1)=a*v0*(x0-y(1))/sqrt((x0-y(1))^2+(v0*t-y(2))^2);dy(2)=a*v0*(v0*t-y(2))/sqrt((x0-y(1))^2+(v0*t-y(2))^2);
end

接着利用ode45求解

%调用
[t,y]=ode45('eq1',[0 0.6],[0 0]);
plot(y(:,1),y(:,2),'r*')

在这里插入图片描述
更改函数中的v0可以得到不同的轨迹
对于第二题做法是求出中间时刻t,dx,dy再列方程求解
试探法得到t=0.3125,dy=0.9910,由公式一得到dx
新函数

function dy=eq3(t,y)v0=10;a=9.94;x0=62.06;t1=0.3125;dy=zeros(2,1);dy(1)=a*v0*(x0-y(1))/sqrt((x0-y(1))^2+((1.5*v0*t+t1*10)-y(2))^2);dy(2)=a*v0*((1.5*v0*t+t1*10)-y(2))/sqrt((x0-y(1))^2+((1.5*v0*t+t1*10)-y(2))^2);end

求解

clc;clear;
x0=62.06;
a=9.94;
y11=0.990954556248263;%调用
[t,y]=ode45('eq1',[0 0.3125],[0 0]);
dy=0.0767429352348030;
dx=sqrt(9.94*10*9.94*10-dy^2);
plot(y(:,1),y(:,2),'r*')
hold on
[t1,y1]=ode45('eq3',[0 0.325],[31.03 y11]);
plot(y1(:,1),y1(:,2),'b*')

在这里插入图片描述
红色是加速前的轨迹,蓝色是加速后的轨迹。

相关文章:

  • 前端面试——JavaScript面经(持续更新)
  • 1850_emacs_org-download在Windows上的使用
  • IDEA的facets和artifacts
  • 【图神经网络 · 科研笔记5】异构信息网络,利用注意力选择元路径;利用进化邻域和社群实现自监督动态图嵌入,交叉监督对比学习;近期科研思维导图小汇总;
  • 力扣思维题——寻找重复数
  • [dfs搜索寻找矩阵中最长递减序列]魔法森林的秘密路径
  • [ZJCTF 2019]NiZhuanSiWei1
  • OpenAI 官方 Prompt 工程指南:写好 Prompt 的六个策略
  • 基于Spring自动注入快速实现策略模式+工厂模式优化过多的if..else
  • [THUPC 2024 初赛] 二进制 (树状数组单点删除+单点查询)(双堆模拟set)
  • Opencv入门五 (显示图片灰度值)
  • pytest常用命令行参数
  • 5 分钟内搭建一个免费问答机器人:Milvus + LangChain
  • 回溯算法 典型习题
  • Prompt-to-Prompt:基于 cross-attention 控制的图像编辑技术
  • AngularJS指令开发(1)——参数详解
  • CSS相对定位
  • dva中组件的懒加载
  • js ES6 求数组的交集,并集,还有差集
  • Phpstorm怎样批量删除空行?
  • React-redux的原理以及使用
  • Vue 动态创建 component
  • zookeeper系列(七)实战分布式命名服务
  • 多线程 start 和 run 方法到底有什么区别?
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 聊一聊前端的监控
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 译自由幺半群
  • 原生js练习题---第五课
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​iOS安全加固方法及实现
  • #100天计划# 2013年9月29日
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #宝哥教你#查看jquery绑定的事件函数
  • (1)bark-ml
  • (12)目标检测_SSD基于pytorch搭建代码
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net和php怎么连接,php和apache之间如何连接
  • .Net下的签名与混淆
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • /3GB和/USERVA开关
  • @EnableConfigurationProperties注解使用
  • @Service注解让spring找到你的Service bean
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [Angular 基础] - 数据绑定(databinding)
  • [APUE]进程关系(下)
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [C#]C# OpenVINO部署yolov8图像分类模型
  • [CSS] 点击事件触发的动画