2024深圳杯东三省A题全保姆教程 多个火箭残骸的准确定位

A题 多个火箭残骸的准确定位

问题1 :建立数学模型,分析如果要精准确定空中单个残骸发生音爆时的位置坐标(经度、纬度、高程)和时间,至少需要布置几台监测设备?假设某火箭一级残骸分离后,在落点附近布置了7台监测设备,各台设备三维坐标(经度、纬度、高程)、音爆抵达时间(相对于观测系统时钟0时)如下表所示:

思路1:
可以采用多边测量方法,根据不同监测设备接收到的音爆抵达时间来确定音爆的发生位置和时间。这个方法基于声速在空气中的传播速度和声波到达不同监测设备的时间差来确定源的位置。

step1:建立问题模型
日标是确定火箭残骸音爆发生的精确位置(经度、纬度、高程)和时间。这需要解决四个未知数音爆的经度 lon,纬度lat,高程z,以及音爆发生的时间 t。
step2:数据准备
有七个监测设备,每个设备记录了音爆到达的时间,以及它们的经纬度和高程。震动波的传播速度为340 m/s,
step3:计算音爆点到第i个设备的距离
经典的模型如半正矢公式,或者直接按题目的假设,计算两点间距离时可忽略地面曲率,纬度间每度距离值近似为111.263 km,经度间每度距离值近似为97.304 km。



step4:定义目标函数
定义一个目标函数来最小化残骸音爆后抵达7个监测设备预测时间和实际测量时间之间的平方差。这个目标函数基于预测的距离除以以声速得到的传播时间,也就是前面我们通过步骤1随机设置一组音爆点初始位置,进而可以计算得到这组初始位置距离各个监测设备的音爆到达时间,对比与真实音爆到达时间的平方差


其中,Si是从音爆点到第之个设备的距离,t 是音爆发生的时间,ti是第i个设备接收到音爆的时间,c是振动波速度。
第五步:优化求解
使用数值优化方法(例如 Nelder-Mead 算法、遗传算法、pso、梯度下降法等等)求解上述目标函数,找到最佳的 lon,lat,z,和 to值,使目标函数值最小。

这一问的优化点有2个:1是距离求解公式(可以采用精度更高的经纬度换算公式);2是规划求解的方式(可以采用启发式算法)
这里我已经实现,下图是直接按题目的假设的结果
即计算两点间距离时可忽略地面曲率,纬度间每度距离值近似为111.263 km,经度间每度距离值近似为97.304 km。

下图是采用半正矢公式求解后的结果


 

问题2 火箭残骸除了一级残骸,还有两个或者四个助推器。在多个残骸发生音爆时,监测设备在监测范围内可能会采集到几组音爆数据。假设空中有4个残骸,每个设备按照时间先后顺序收到4组震动波。建立数学模型,分析如何确定监测设备接收到的震动波是来自哪一个残骸?如果要确定4个残骸在空中发生音爆时的位置和时间,至少需要布置多少台监测设备?


思路2:

在问题的基础上,增加三组未知数,也就是一共四组参数的最小化残骸音爆后抵达7个监测设备预测时间和实际测量时间之间的平方差

从数学角度来看,只需要4个监测设备即可,当然更多也可以,这里要求不能4个监测设备在同一直线上

问题3 假设各台监测设备布置的坐标和4个音爆抵达时间分别如下表所示:利用问题2所建立的数学模型,从上表中选取合适的数据,确定4个残骸在空中发生音爆时的位置和时间(4个残骸产生音爆的时间可能不同,但互相差别不超过5 s)。
设备经度(°)纬度(°)高程(m)音爆抵达时间(s)
A110.24127.204824100.767164.229214.850270.065
B110.78327.45672792.453112.220169.362196.583
C110.76227.78574275.560110.696156.936188.020
D110.25128.02585094.653141.409196.517258.985
E110.52427.61778678.60086.216118.443126.669
F110.46728.08167867.274166.270175.482266.871
G110.04727.521575103.738163.024206.789210.306

代入问题2进行求解即可

问题4  假设设备记录时间存在0.5 s的随机误差,请修正问题2所建立的模型以较精确地确定4个残骸在空中发生音爆时的位置和时间。通过对问题3表中数据叠加随机误差,给出修正模型的算例,并分析结果误差。如果时间误差无法降低,提供一种解决方案实现残骸空中的精准定位(误差<km),并自行根据问题3所计算得到的定位结果模拟所需的监测设备位置和音爆抵达时间数据,验证相关模型。


针对黄色部分的问题,可以通过模拟随机误差后的数据,求位置均值来进行调整,也就是往各组音爆抵达时间(s)加入随机数,模拟个几十组或几百组,重新求解四个残骸在空中发生音爆时的位置和时间,看看与没加入误差前的差异是否明显,可以用单样本T检验来证明,分析差异。
针对绿色部分的问题,同样是往各组音爆抵达时间(s)加入随机数,模拟个几十组或几百组,然后建立4个回归模型,用于预测发生音爆时的位置和时间,然后要求通过换算评价指标设置要求误差<km,具体做法可以参考我视频讲解,

2024东三省深圳杯A题保姆解题思路及代码 多个火箭残骸的准确定位_哔哩哔哩_bilibili​www.bilibili.com/video/BV1Vr42137gW/?spm_id_from=333.999.0.0​编辑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/642213.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【行为型模式】解释器模式

一、解释器模式概述 解释器模式定义&#xff1a;给分析对象定义一个语言&#xff0c;并定义该语言的文法表示&#xff0c;再设计一个解析器来解释语言中的句子。也就是说&#xff0c;用编译语言的方式来分析应用中的实例。这种模式实现了文法表达式处理的接口&#xff0c;该接口…

贪吃蛇项目实战——学习详解

前言:贪吃蛇是一个经典的游戏&#xff0c; 本节将使用c语言实现一个简易的的贪吃蛇小游戏。 本节内容适合已经学完c语言还有数据结构链表的友友们。 我们要实现的贪吃蛇是在控制台进行游戏的。 它运行起来是这样的&#xff1a; 贪吃蛇 那么&#xff0c; 为了实现这个小游戏。 我…

Spring-IOC之组件扫描

版本 Spring Framework 6.0.9​ 1. 前言 通过自动扫描&#xff0c;Spring 会自动从扫描指定的包及其子包下的所有类&#xff0c;并根据类上的特定注解将该类装配到容器中&#xff0c;而无需在 XML 配置文件或 Java 配置类中逐一声明每一个 Bean。 支持的注解 Spring 支持一系…

C++/BOOST filesystem fs::directory_iterator一个滑稽的错误

错误来源于&#xff0c;用 fs::directory_iterator iter(folderPath), end; 然后for循环 for (; iter ! iter_end; iter) {} 最开始没问题&#xff0c;后来说加个进度条&#xff0c;统计一下所有文件数量&#xff0c;用了std::distance&#xff0c; int totalFiles std::…

android系统更新ActivityManager中APi问题解决

遇到在alps/frameworks/base/core/java/android/app/ActivityManager.java 进行了新接口的增加时&#xff0c;需要进行更新api操作以刷新以下两文件。 alps/frameworks/base/core/api/system-current.txt alps/frameworks/base/core/api/system-lint-baseline.txt 否则会报错…

C++从零开始websevere服务器从搭建到上线|使用华为云服务器进行项目部署

文章目录 公网IP和私有IP地址公网IP私有IP地址为什么我们需要两个IP地址呢 云服务器设置防火墙配置基础配置云服务器防火墙配置云服务器安全组 总结 问题背景 关于使用华为云服务器进行项目部署&#xff0c;25届C秋招选手&#xff0c;刚写完一个websever项目&#xff0c;想着部…

8. 中断下半页 与 延迟处理

目录 中断下半页 软中断 Tasklet Work Queues 回顾一下 Reference (偷个懒&#xff1a;这里不将怎么用hhh) 我们现在开始考虑中断的部分了。我们直到处理设备&#xff08;不管是CPU自己的还是外部设备的&#xff09;的中断是操作系统的一个重要任务。 我们说中断是异步的…

柱状图展示异步统计数据

PC端 APP端 Controller层 package com.cnpc.dj.party.controller;import com.alibaba.fastjson.JSONObject; import com.cnpc.dj.common.JsonResult; import com.cnpc.dj.common.context.BaseContextHandler; import com.cnpc.dj.common.utils.DateUtils; import com.cnpc.dj.…

js的算法-交换排序(快速排序)

快速排序 基本思想 快速排序的基本思想是基于分治法的&#xff1a;在待排序表L【1...n】中任意取一个元素p 作为枢轴&#xff08;或基准&#xff0c;通常取首元素&#xff09;。通过一趟排序将待排序表划分为独立的两部分L【1...k-1】和L【k1...n】;这样的话&#xff0c;L【1…

【视觉论文】VIT - Vision Transformers

论文&#xff1a;AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 链接&#xff1a;https://arxiv.org/abs/2010.11929 很多人博主都写烂了的论文&#xff0c;我到现在才真正翻开论文看&#xff0c;21年的工作&#xff0c;正好是刚毕业那年&…

分析 MyBatis/MyBatis-Plus 慢 SQL 的分析组件 --SQL 慢镜️‍♀️

大家好&#xff01;我是聪ζ&#x1f331;我做了一个分析 MyBatis/MyBatis-Plus 慢 SQL 的分析组件 --SQL 慢镜&#x1f575;️‍♀️ GitHub仓库地址&#x1f680;: https://github.com/lhccong/sql-slow-mirror 点点 star 我的朋友们✨ 背景&#x1f9ca;&#xff1a; 大家…

使用autocannon和0x对网站进行性能分析(node)

npm i autocannon -g autocannon -c 100 -d 5 -p 10 http://localhost:3000/ 0x -o app.js 火焰图是根据程序的栈的状态对出现函数的采样数据统计而得&#xff0c;宽度代表函数运行一次所需的时长、高度代表栈的层数、颜色深度代表函数在采样中出现的频率&#xff0c;因此宽度…