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

2018年MathorCup数学建模C题陆基导弹打击航母的数学建模与算法设计解题全过程文档及程序

2018年第八届MathorCup高校数学建模挑战赛

C题 陆基导弹打击航母的数学建模与算法设计

原题再现:

  火箭军是保卫海疆主权的战略力量,导弹是国之利器。保家卫国,匹夫有责。为此,请参赛者认真阅读"陆基反舰导弹打击航母的建模示意图"。(附图 1 )参考图中的描述, 请根据如下的已知条件和有关数据, 设计导弹运行的数学模型及其命中目标的算法。导弹发射车初始位置坐标已知为东经120’o30’‘0’“, 北纬 27’o30’'0^” , 它可直接设为导弹打击航母的坐标系原点。
在这里插入图片描述
  (2) 导弹运行的轨道曲线划分为发射段, 中段和末段。发射段通常为抛物线, 发射速度为 500m/s 。中段可设计为不同的飞行轨道, 由导弹的飞行参数制导所确定。末段最高速度可达到 1000m/s 。导弹末段飞行时间一般不超过 20 秒。三段曲线的衔接点是光滑的 ( 即曲线连续且一阶导数存在), 也就是说导弹飞行的轨道曲线是连续和光滑的, 不能折线飞行。
  (3) 导弹运行的轨道曲线需考虑应对敌方反导系统拦截问题, 期望给出难以拦截的攻击曲线。
  (4) 地面指挥中心提供给导弹中段轨道的制导数据; 而末段则是由导弹自主攻击航母目标。
  (5) 其它复杂环境及气象等影响暂且简化。
  (6) 解题中可局部自主创新添加合理假设。
  (7) 在建模设计的计算中,根据坐标计算距离时,设定地球半径为 6300km,距离的计算精度要求为 m 级。
在这里插入图片描述
  根据以上已知数据和条件要求, 请你运筹帷幄, 决胜千里, 创新设计出你的陆基反舰导弹打击航母的运行轨道数学模型, 论述你的算法步骤。包括:
  问题 1: 建立初始状态下, 反舰导弹打击航母的静态轨道模型。即 t=0 时, 连接导弹初始位置与航母坐标之间的轨道曲线模型。
  问题 2: 在航母按照已知条件 ( 2 ) 给出的航向和速度的航行状态下, 设计导弹飞行的中段动态模型方程和算法步骤。中段通常以发射段的抛物线顶点为起始点。
  问题 3: 讨论你所设计的导弹打击航母的轨道曲线的误差分析和命中率分析。

整体求解过程概述(摘要)

  随着军事力量的发展,导弹成为现代战争中极具威胁性的进攻型武器。航母作为可以整合通讯、情报、反潜反导装置、作战信息和后勤保障的大型海上战斗机移动基地平台,航母对国家安全带来威胁。导弹打击航母技术对保卫国家安全显得尤为重要。
  关于问题一,在初始时刻时,将反舰导弹打击航母分为四个阶段:主动段、被动段、中段变轨、末段。首先考虑地球为自旋椭球,建立地心坐标系和发射坐标系,在两个坐标系相互转换进行计算。在地心坐标系中计算反舰导弹所受引力、科氏力等,根据力与加速度,加速度与速度的力学模型建立微分方程。由于反舰导弹的速度矢量、合力矢量以及加速度矢量等参数不断随时间变化,则可根据速度、位移、加速度关系可建立差分方程,通过迭代即可计算出主动段、被动段反舰导弹的轨迹方程。中段时,考虑到敌方的反导系统拦截,参考助推滑翔模型设计中段轨道曲线,即间歇性的给反舰导弹一个与重力加速度反向的加速度,使其进行变轨,以可靠的级间分离和头体分离飞行条件和合适的再入条件作为限制,然后通过不断优化得出反舰导弹中段变轨部分的运行轨迹。末段时,为增加导弹突破面防御系统能力以及敌方的预测难度,使反舰导弹末端机动具有如伪螺旋形轨道模型。从而得到反舰导弹打击航母的静态轨道模型,以 83.75°的发射仰角飞行1153s,主动段高度为61764m,最高点高度为494833m,再入层高度为142397m,末段最大速度为 773m/s。
  关于问题二,反舰导弹中段飞行时,建立实时监测反馈系统。在敌方航母航行参数为未知的情况下,将问题所述航行参数作为侦察卫星和无人机时刻收集的数据并反馈给导弹和地面控制中心,反舰导弹根据航母时刻变化的位置信息改变轨道。此时,反舰导弹相对于静态轨道模型会增加一个与海平面平行的指向航母的加速度矢量,从而消除航母移动带来的影响。考虑到导弹与航母的追及问题,建立差分迭代算法模型,根据导弹飞行各阶段的限制条件,可优化得到反舰导弹动态打击航母的动态轨道模型,以 83.75°的发射仰角飞行 881s,主动段高度为61714m,最高点高度为 493875m,再入层高度为 162784m,末段最大速度为 973m/s。
  关于问题三,在反舰导弹飞行中,影响导弹捕捉概率大小的因素有目标指示精度误差、侧向横移误差和目标机动产生的误差,前两者随机性太强,因此本文中只需考虑后者以及主动段飞行参数带来的影响。导弹末端制导取决于雷达搜索范围,在距航母大概20km~30km时,导弹末段雷达开机,发射电磁波,进行搜索制导,将已知经验搜索范围的角度𝜃1与反舰导弹速度矢量和导弹与航母连线矢量的角度𝜃2进行比较,𝜃2 > 𝜃1即为命中。本团队对各参数进行稳定性和灵敏度分析,模型稳定性较高,鲁棒性强。计算误差情况下的制导成功率为 96.97%,命中率为 79.71%。

模型假设:

  1.忽略复杂环境、突发事件以及气象条件的影响。
  2.控制系统响应速度和精度能够满足末制导雷达指令对弹体控制的要求。
  3.导弹飞行中忽略因燃料而引起的质量变化,且导弹飞行过程中能实时接收信号。
  4.假设燃料充足,反舰导弹打击航母的过程中不用担心燃料的问题。
  5.将地球想象成球体,且因地球地轴与地球自转轴之间的夹角很小可将其忽略。
  6.因导弹发射点与航母位置相对地球半径很小而认为发射点的铅垂方向与发射点和航母的方向垂直。
  7.静态轨道模型中在中段变轨阶段给反舰导弹的加速度为定值。

问题分析:

  陆基导弹分为弹道导弹和巡航导弹,而传统的弹道导弹在燃料燃烧完后只能保持预定的航向,不可改变。初始状态时,即t = 0,海洋侦查卫星和无人机把航母的数据信息传送给导弹发射指挥中心,指挥中心通过计算,设计出一条预定的航向。根据导弹打击航母的过程可以分为发射段、中段以及末段。其中发射段又包括主动段和被动段,主动段时,导弹通过助推器发射,助推器给导弹提供推力,飞行到高空中大约50 km~ 70 km 时[1],导弹将会脱离助推器进入被动段,一段时间后,到达发射段的最高点,导弹开始进入中段。中段初始部分与被动段类似,暂且将其统称为被动段。中段变轨部分,考虑到敌方的反导系统拦截问题,陆基反舰导弹以平衡弹道或跳跃弹道飞行到满足导引头开机点要求的位置和姿态[2],再以一定的攻角再入大气层,然后进行末段制导。在末端制导时,为躲避敌方拦截,反舰导弹末段具有末端机动如蛇形或跃升的攻击能力,这种情况主要是针对敌方的面防御系统。根据导弹脱离助推器前后的受力情况不同,可建立地心坐标系计算出力和加速度的方向,然后转换到发射点坐标系,并据此可以建立微分方程组。根据反舰导弹受力、加速度都随时间变化,可知其速度以及位移也时刻随时间变化,可建立差分方程组,然后根据参数仿真优化得到主动段、被动段、中段变轨、末端制导四个阶段的节点,最后根据所得数据,即可得到反舰导弹打击航母的轨道曲线。

  反舰导弹在中段飞行时,无人机根据数据链传来的情报,立即飞往航母上空进行长时间持续跟踪以及准确定位,为反舰导弹的中段机动提供信息支持。反舰导弹接收到信息之后,通过计算,预测航母位置,进行轨道调整,提高打击海上移动航母的命中精度。在航母航行时,由于航母的位置随时间变化,而无人机以及海洋侦查卫星时刻收集航母的位置信息并将信息传递给反舰导弹,反舰导弹根据信息调整轨迹打击航母,建立了一个实时反馈的追及问题模型。航母始终向南航行,反舰导弹在中段的轨迹相对于初始时刻增加了一个平行于海平面并指向航母的加速度,不影响导弹竖直方向速度。使其能够时刻根据航母的位置改变该加速度的方向进而改变反舰导弹的速度并将飞行轨迹不断趋向于航母位置,提高打击航空母舰的精度。

  反舰导弹打击航母时,导弹的被动段的运动情况完全取决于导弹的主动段的终点的参数[8]。在标准情况下,导弹始终在主动段的终点速度矢量和地心坐标系中的地心矢径所形成的平面内运动,导弹的着落点和航母所在点重合。但是,实际情况下,考虑到地球的旋转、常值横风的影响、导弹在主动段的运动会受到各种不同的因素的干扰、目标信息迟滞等因素的影响,主动段的终点参数会有偏差,从而产生落点误差,继而会影响命中率。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:(代码和文档not free)

The actual procedure is shown in the screenshot

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{int n;cin >> n;     //导弹数量int heigh[n]; //导弹高度int end[n];   //该枚导弹作为最后击落的导弹时最多击落导弹数量for (int i = 0; i < n; i++){cin >> heigh[i];end[i] = 1; //只击落该枚导弹总是可行的}for (int i = 0; i < n; i++) //依次把每一枚导弹作为最后一枚{for (int j = 0; j < i; j++){ //将该枚导弹高度依次与前i枚导弹比较if (heigh[j] >= heigh[i]){end[i] = max(end[i], end[j] + 1);}}}int maxnum = 0;             //最大击落数for (int i = 0; i < n; i++) //遍历求最大击落数{if (end[i] > maxnum)maxnum = end[i];}cout << maxnum;
}

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2018年MathorCup数学建模C题陆基导弹打击航母的数学建模与算法设计解题全过程文档及程序

2018年第八届MathorCup高校数学建模挑战赛 C题 陆基导弹打击航母的数学建模与算法设计 原题再现&#xff1a; 火箭军是保卫海疆主权的战略力量,导弹是国之利器。保家卫国,匹夫有责。为此,请参赛者认真阅读"陆基反舰导弹打击航母的建模示意图"。(附图 1 )参考图中的…...

打怪升级之CFile类

CFile类 信息源自官方文档&#xff1a;https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cfile-class?viewmsvc-170。 CFile是Microsoft 基础类文件类的基类。它直接提供非缓冲的二进制磁盘输入/输出设备&#xff0c;并直接地通过派生类支持文本文件和内存文件。CFile与…...

[css]通过网站实例学习以最简单的方式构造三元素布局

文章目录二元素布局纵向布局横向布局三元素布局b站直播布局实例左右-下 布局左-上下 布局上下-右 布局方案一方案二后言二元素布局 在学习三元素布局之前&#xff0c;让我们先简单了解一下只有两个元素的布局吧 两个元素的相对关系非常简单&#xff0c;不是上下就是左右 纵向布…...

【冲刺蓝桥杯的最后30天】day6

大家好&#x1f603;&#xff0c;我是想要慢慢变得优秀的向阳&#x1f31e;同学&#x1f468;‍&#x1f4bb;&#xff0c;断更了整整一年&#xff0c;又开始恢复CSDN更新&#xff0c;从今天开始更新备战蓝桥30天系列&#xff0c;一共30天&#xff0c;如果对你有帮助或者正在备…...

ssm框架之spring:浅聊IOC

IOC 前面体验了spring&#xff0c;不过其运用了IOC&#xff0c;至于IOC( Inverse Of Controll—控制反转 ) 看一下百度百科解释&#xff1a; 控制反转&#xff08;Inversion of Control&#xff0c;缩写为IoC&#xff09;&#xff0c;是面向对象编程中的一种设计原则&#x…...

pytest初识

一、单元测试框架 &#xff08;1&#xff09;什么是单元测试框架&#xff1f; 单元测试是指在软件开发中&#xff0c;针对软件的最小单元&#xff08;函数、方法&#xff09;进行正确性的检查测试 &#xff08;2&#xff09;单元测试框架 java&#xff1a;junit和testng pytho…...

设计模式~责任链模式(Chain of Responsibility)-12

目录 &#xff08;1&#xff09;优点 &#xff08;2&#xff09;缺点 &#xff08;3&#xff09;使用场景 &#xff08;4&#xff09;注意事项&#xff1a; &#xff08;5&#xff09;应用实例&#xff1a; &#xff08;6&#xff09;经典案例 代码 责任链&#xff0c; …...

【ElasticSearch】(一)—— 初识ES

文章目录1. 了解ES1.1 elasticsearch的作用1.2 ELK技术栈1.3 elasticsearch和lucene1.4 为什么不是其他搜索技术&#xff1f;1.5 总结2. 倒排索引2.1 正向索引2.2 倒排索引2.3 正向和倒排3. ES的一些概念3.1 文档和字段3.2 索引和映射3.3 mysql与elasticsearch1. 了解ES Elasti…...

MySQL 事务隔离

MySQL 事务隔离事务隔离实现事务的启动ACID : 原子(Atomicity)、一致(Consistency)、隔离(Isolation)、永久(Durability) 多个事务可能出现问题 : 脏读 (dirty read) , 不可重复读 (non-repeatable read) , 幻读 (phantom read) 事务隔离级别 : 读未提交 (read uncommitted)…...

基础06-JS中for-in和for-of有什么区别

for…in 和 for…of 的区别 题目 for…in 和 for…of 的区别 key 和 value for…in 遍历 key , for…of 遍历 value const arr [10, 20, 30] for (let n of arr) {console.log(n) }const str abc for (let s of str) {console.log(s) }function fn() {for (let argument…...

AI视频智能分析EasyCVR视频融合平台录像计划模块搜索框细节优化

EasyCVR支持海量视频汇聚管理&#xff0c;可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能分析等视频服务。在录像功能上&#xff0c;平台可支持&#xff1a; 根据业务场景自定义录像计划&#xff0c;可支持7*24H不间断录像&#xff0c;支持…...

TCP和UDP对比

TCP和UDP对比 UDP(用户数据报协议) 无连接(指的是逻辑连接关系,不是物理上的连接) 支持单播、多播以及广播,也就是UDP支持一对一、一对多、一对全 面向应用报文的,对应用层交付的报文直接打包 无连接不可靠的传输服务(适用于IP电话、视频会议等实时应用),不使用流量控制和…...

CVS Health 西维斯健康EDI需求

CVS Health西维斯健康在特拉华州成立&#xff0c;通过旗下的 CVS Pharmacy 和 Longs Drugs 零售店以及 CVS.com 电商提供处方药、美容产品、化妆品、电影和照片加工服务、季节性商品、贺卡和方便食品。CVS Health通过使高质量的护理变得更经济、更易获得、更简单、更无缝&#…...

Anaconda配置Python科学计算库SciPy的方法

本文介绍在Anaconda环境中&#xff0c;安装Python语言SciPy模块的方法。 SciPy是基于Python的科学计算库&#xff0c;用于解决科学、工程和技术计算中的各种问题。它建立在NumPy库的基础之上&#xff0c;提供了大量高效、易于使用的功能&#xff0c;包括统计分析、信号处理、优…...

数据库基本功之复杂查询的子查询

子查询返回的值可以被外部查询使用,这样的复合查询等效与执行两个连续的查询. 1. 单行单列子查询 (>,<,,<>,>,<)内部SELECT子句只返回一行结果 2.多行单列子查询 (all, any, in,not in) all (>大于最大的,<小于最小的) SQL> select ename, sal from…...

脑机接口科普0019——大脑的分区及功能

本文禁止转载&#xff01;&#xff01;&#xff01;&#xff01; 在前文脑机接口科普0018——前额叶切除手术_sgmcy的博客-CSDN博客科普中&#xff0c;有个这样的一张图&#xff1a; 这个图呢&#xff0c;把大脑划分为不同的区域&#xff0c;然后不同的区域代表不同的功能。 …...

阿里云服务器使用教程:CentOS 7 安装JDK及Tomcat(以jdk1.8、tomcat9.0.37为例)

目录 1、下载JDK及Tomcat的安装包并上传至服务器 2、安装JDK 3、安装Tomcat 4、Tomcat启动后无法打开Tomcat首页的原因 1、下载JDK及Tomcat的安装包并上传至服务器 &#xff08;1&#xff09;下载JDK1.8版本压缩包 官网&#xff1a;Java Downloads | Oracle &#xff08…...

Ubuntu20.04下安装vm17+win10/11

一、安装vmware17 1、官网下载 vmware官网&#xff1a;https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html 2、安装依赖 sudo apt update sudo apt install build-essential linux-headers-generic gcc make3、权限和安装 到下载的目录下…...

Kalman Filter in SLAM (1) ——Data Fusion and Kalman Filter(数据融合和卡尔曼滤波)

文章目录0. 参考资料1. Intro Example 例子引入1.1. 测量硬币直径1.2. 思考2. Data Fusion 数据融合2.1. 数据融合在做什么&#xff1f;2.2. 数据融合的前提——不确定度2.3. 数据融合的结果——统计意义下的最优估计3. State Space Representation 状态空间表达式3.1. 状态方程…...

黑马程序最后

这里写自定义目录标题内建stl常用算法adjacent_findbinary_searchcountcount if常用排序算法常用拷贝和替换replace常用算术生成算法常用集合算法https://gitee.com/jiangjiandong/Cpp-0-1-Resource/blob/master/%E7%AC%AC5%E9%98%B6%E6%AE%B5-C%E6%8F%90%E9%AB%98%E7%BC%96%E7…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...