2024深圳杯A题高质量无水印23页成品论文【附带Q1-Q4完整代码解答】+持续更新

本文主要是介绍2024深圳杯A题高质量无水印23页成品论文【附带Q1-Q4完整代码解答】+持续更新,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

A题基于优化模型的多个火箭残骸的准确定位

部分内容展示

【无水印word】2024深圳杯A题成品论文23页+mtlab(python)双版本代码icon-default.png?t=N7T8https://www.jdmm.cc/file/2710565

5.2 问题二三模型的建立与求解

5.2.1 数据分析

声波从音爆源到监测设备的传播是一个球面波,其半径随时间增加而扩大。对于每个残骸,它在空中发生音爆时会产生一个扩散的声波球。与问题一给出数据相同,为了更加直观的展示给出数据,首先以A为例绘制了二维平面、三维平面的声波球。

图1设备A位置可视化

以这种方式引入更多的设备绘制可视化结果,如下所示

图1多设备可视化

5.2.2 多个残骸定位模型的建立

声波从音爆源到监测设备的传播是一个球面波,其半径随时间增加而扩大。对于每个残骸,它在空中发生音爆时会产生一个扩散的声波球。可以使用多边测量(triangulation)原理,根据多个监测站接收到的声波到达时间来定位每个音爆源的位置。通过比较不同监测站接收到的声波时间,可以使用时间差定位(Time Difference of Arrival, TDOA)方法来确定每个残骸的位置。

为了确定三维空间中一个点的位置,至少需要从四个不同的位置测量(四台设备),但由于存在四个残骸,这就要求至少需要五个监测站以确保可以解出一个唯一的解集(这是因为每增加一个音爆源,就需要一个额外的监测站来提供独立的测量)。使用非线性最小化算法来解决多变量的优化问题,以找到四个残骸的最可能位置和时间。

时间差定位(Time Difference of Arrival,TDOA)是一种基于时间测量来确定信号源位置的方法。在给定的问题中,这个原理可以用来确定火箭残骸发生音爆时的位置。以下是TDOA的基本原理

假设有多个监测站(至少三个)围绕一个音爆源。当音爆发生时,声波会从源点向外以声速传播。由于监测站与音爆源之间的距离不同,每个监测站接收到声波的时间也会有所不同。

因此,每个监测站都可以提供一个与音爆源的距离成正比的时间测量值。通过至少三个这样的测量,可以建立一个方程组来解决未知的音爆发生位置。由于监测站接收到信号的实际时间都是已知的,可以通过比较不同监测站接收到信号的时间差来建立方程组。这些方程是关于音爆源位置的非线性方程,因为它们包含了未知数的平方和开方运算。

为了确定唯一的音爆源位置,需要解决这个方程组。通常,这会通过数值方法来完成,因为解析解可能不存在或者难以得到。通过最小化每个方程的误差平方和,可以用数值优化方法(如最小二乘法)来求解这个问题。

在有多个音爆源的情况下,如火箭的多个残骸,每个残骸都会产生一个类似的方程组。需要同时解决所有的方程组,并且考虑各个方程组之间的关系,这样才能确定每个残骸的位置和音爆时间。这通常需要一个更复杂的数值算法,并可能涉及到多变量和多目标优化。

具体模型如下所示

给定监测设备的地理坐标

以及它们记录的各个残骸音爆抵达时间

(其中i 是设备索引,j是残骸索引),目标是确定每个残骸的空间位置

和音爆发生时间

设声速为常数c。将设备的地理坐标转换为笛卡尔坐标

后,目标函数可以表示为所有预测时间与实际时间差异的平方

其中,

  1. v 是包含x,y,z,t 的向量。
  2. t 是音爆发生时间。
  3. (x,y,z) 是音爆发生的位置。
  4. c 是声速。
  5. (xi,yi,zi,ti) 是第 i 个设备的坐标和音爆抵达时间。
  6. n 是设备数量。

目标是最小化f(v),即预测时间和实际时间的平方差的和。

时间差约束

要考虑的一个约束是所有残骸音爆发生的时间差不能超过 5 秒。在目标函数中,可以通过对超过 5 秒的时间差引入较大的惩罚值来实现

如果

考虑到火箭残骸的速度范围,可以设置一个关于速度的约束。设

为残骸的最大可能速度,那么对于每个残骸 j,其位置变化率应该满足以下条件

其中,

分别是残骸 j在x,y,z 方向上的速度分量

高度约束

如果残骸的预期下落轨迹是已知的,可以设定一个高度范围 [min,max]。对于每个残骸 j,其高程应该满足

这样可以确保解决方案符合预期的飞行轨迹。

声速随高度变化的模型

声速 c 在不同的环境条件下会有所不同,特别是随高度的变化。可以引入一个关于高度的声速变化模型c(z)。音爆到达时间tij的计算公式应更新为

这里,积分沿着从残骸 j 到监测站 i 的路径计算,ds 是路径元素,c(z) 是在该路径上某点的声速。

考虑风速和风向的影响

考虑风速vwind和风向对声波传播的影响,残骸到监测站的实际声波传播时间 tij应考虑风的影响

其中uij是从残骸 j 指向监测站 i 的单位向量,点乘表示向量点乘,用于计算风速在声波传播方向上的投影。

最终建立优化模型,如下所示

5.2.3 模型的求解

差分进化(Differential Evolution, DE)算法是一种非常有效的全局优化算法,广泛用于解决实际中的优化问题,特别是那些参数优化问题。它基于群体的进化策略,通过对候选解进行交叉、变异和选择来寻找全局最优解。下面是差分进化算法的基本实现过程

  1. 初始化

种群初始化随机生成一个初始种群。种群中的每个个体(向量)代表一个可能的解。

参数设置设定算法的控制参数,包括变异因子(F)、交叉率(CR)和种群大小(NP)。

  1. 变异

对于种群中的每一个个体确保它们各不相同且不同。生成变异向

其中 F 是一个正的缩放因子,用于控制变异的强度。

  1. 交叉

为了增加种群的多样性,通过交叉操作生成试验向量

,对于的每个维度j

其中rand(j) 是在 [0,1] 上均匀分布的随机数,CR 是交叉概率,D 是个体的维数rand(1,D) 确保至少有一个维度来自变异向量。

  1. 选择

通过贪婪策略对每个个体进行评价和选择。如果试验向量的适应度(即目标函数值)比当前个体更好或相等,则在下一代种群中替换其中 t 表示当前的代数。

  1. 迭代

重复变异、交叉和选择步骤,直到满足停止条件(如达到最大迭代次数、达到预设的适应度阈值或解的改善不再显著)。

这里设定最大迭代次数为10000,这个参数设定了算法运行的最大代数,防止算法无限运行。

种群大小20,即在每一代中有多少个候选解参与迭代。较大的种群可以提供更多的多样性,但会增加计算成本。

容忍度为0.1,用于控制算法的停止条件之一,如果种群的标准偏差小于 tol 乘以规模,且连续几代没有改进,则停止迭代。

变异因子的范围(0.5, 1)。这是一个元组,定义了用于生成差分权重的下限和上限。变异因子控制了变异的程度,较高的变异因子可以增加多样性。

重组(或交叉)概率0.8。定义了从变异向量中选择参数的概率,较高的值增加了解空间的搜索范围,但可能减慢收敛速度。

最终得到结果如下所示

为了更加直观地展示可视化结果,绘制了三维可视化图进行展示

经过优化算法处理后,得出的四块残骸的位置分散在三维空间的不同点上.

这篇关于2024深圳杯A题高质量无水印23页成品论文【附带Q1-Q4完整代码解答】+持续更新的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/970279

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

hdu1689(线段树成段更新)

两种操作:1、set区间[a,b]上数字为v;2、查询[ 1 , n ]上的sum 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdl

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n