2023国赛数学建模B题思路代码 - 多波束测线问题

# 1 赛题
B 题 多波束测线问题

单波束测深是利用声波在水中的传播特性来测量水体深度的技术。声波在均匀介质中作匀 速直线传播, 在不同界面上产生反射, 利用这一原理,从测量船换能器垂直向海底发射声波信 号,并记录从声波发射到信号接收的传播时间, 通过声波在海水中的传播速度和传播时间计算 出海水的深度, 其工作原理如图 1 所示。由于单波束测深过程中采取单点连续的测量方法, 因 此,其测深数据分布的特点是, 沿航迹的数据十分密集, 而在测线间没有数据。
在这里插入图片描述
多波束测深系统是在单波束测深的基础上发展起来的,该系统在与航迹垂直的平面内一次 能发射出数十个乃至上百个波束,再由接收换能器接收由海底返回的声波, 其工作原理如图 2 所示。多波束测深系统克服了单波束测深的缺点,在海底平坦的海域内, 能够测量出以测量船 测线为轴线且具有一定宽度的全覆盖水深条带 (图 3)。
在这里插入图片描述
多波束测深条带的覆盖宽度 随换能器开角 a 和水深 D 的变化而变化。若测线相互平
行且海底地形平坦, 则相邻条带之间的重叠率定义为 = 1 − ,其中 d 为相邻两条测线的间
距, 为条带的覆盖宽度(图 4) 。若 < 0,则表示漏测。为保证测量的便利性和数据的完 整性, 相邻条带之间应有 10%~20% 的重叠率。
但真实海底地形起伏变化大,若采用海区平均水深设计测线间隔,虽然条带之间的平均重 叠率可以满足要求,但在水深较浅处会出现漏测的情况(图 5) ,影响测量质量; 若采用海区最 浅处水深设计测线间隔,虽然最浅处的重叠率可以满足要求,但在水深较深处会出现重叠过多 的情况(图 6), 数据冗余量大,影响测量效率。
在这里插入图片描述问题 1 与测线方向垂直的平面和海底坡面的交线构成一条与水平面夹角为 a 的斜线(图 7), 称 a 为坡度。请建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。
在这里插入图片描述若多波束换能器的开角为 120 ∘ ,坡度为 1.5 ∘ ,海域中心点处的海水深度为 70 m,利用上 述模型计算表 1 中所列位置的指标值,将结果以表 1 的格式放在正文中,同时保存到 result1.xlsx 文件中。
在这里插入图片描述
问题 2 考虑一个矩形待测海域(图 8) ,测线方向与海底坡面的法向在水平面上投影的夹 角为 F ,请建立多波束测深覆盖宽度的数学模型。
在这里插入图片描述
若多波束换能器的开角为 120o,坡度为 1.5o,海域中心点处的海水深度为 120 m,利用上 述模型计算表 2 中所列位置多波束测深的覆盖宽度,将结果以表 2 的格式放在正文中, 同时保 存到 result2.xlsx 文件中。
在这里插入图片描述
问题 3 考虑一个南北长 2 海里、东西宽 4 海里的矩形海域内,海域中心点处的海水深度 为 110 m,西深东浅, 坡度为 1.5o ,多波束换能器的开角为 120o 。请设计一组测量长度最短、 可完全覆盖整个待测海域的测线,且相邻条带之间的重叠率满足 10%~20% 的要求。
问题 4 海水深度数据 (附件.xlsx)是若干年前某海域(南北长 5 海里、东西宽 4 海里) 单波束测量的测深数据,现希望利用这组数据为多波束测量船的测量布线提供帮助。在设计测 线时, 有如下要求: (1) 沿测线扫描形成的条带尽可能地覆盖整个待测海域; (2) 相邻条带之间 的重叠率尽量控制在 20% 以下;(3) 测线的总长度尽可能短。在设计出具体的测线后,请计算 如下指标: (1) 测线的总长度; (2) 漏测海区占总待测海域面积的百分比;(3) 在重叠区域中, 重叠率超过 20% 部分的总长度。
注 在附件中, 横、纵坐标的单位是海里,海水深度的单位是米。 1 海里=1852 米。

2 解题思路

🥇 最新思路更新(看最新发布的文章即可):
https://blog.csdn.net/dc_sinor?type=blog

3 最新思路更新

🥇 最新思路更新(看最新发布的文章即可):
https://blog.csdn.net/dc_sinor?type=blog

3 更新记录

第一问

让我们按照以下步骤进行操作:

  1. 使用给定的公式和数据计算每个测线位置的覆盖宽度。
  2. 计算每个测线位置的重叠率。
  3. 汇总所有数据。

首先,我们使用以下公式计算每个位置的覆盖宽度 ( W’ ):

[
W’ = 2 \times D \times \tan\left(\frac{\theta}{2}\right) \times \cos(\alpha)
]

其中:

  • ( D ) 是给定位置的深度(题目中提供的深度数据为70m)。
  • ( \theta ) 是开角(在本问题中为 ( 120^\circ ))。
  • ( \alpha ) 是坡度(在本问题中为 ( 1.5^\circ ))。

然后,我们使用以下公式计算重叠率 ( \eta ):

[
\eta = 1 - \frac{d}{W’}
]

其中 ( d ) 是相邻两条测线的间距(在此问题中为200米)。

接下来,我们将进行这些计算。

根据给定的数据和公式,以下是我为每个测线位置计算的覆盖宽度和与前一条测线的重叠率:

对于海水深度,我们可以使用坡度 (\alpha) 从中心点处的深度 (D_{\text{center}} = 70 \text{m}) 逐渐计算。考虑到坡度和每个测线位置的距离,我们可以使用以下公式计算每个位置的海水深度:

[
D = D_{\text{center}} + \text{dist} \times \tan(\alpha)
]

其中 (\text{dist}) 是从中心点的距离。

第二问

"测绘方向"或"测线方向"通常是指测量船或其他测量设备沿其移动路径的方向。在多波束测深的背景下,测线方向与海底坡面的法向在水平面上投影的夹角 ββ 表示测绘船航行方向与海底坡度方向之间的角度差异。

为了清晰地理解,考虑以下情景:

当 β=0∘ 时,测绘船正好沿着坡面的最陡峭方向移动。
当 β=90∘ 时,测绘船正好沿着坡面的最平坦方向移动。

这个角度决定了测绘结果的准确性和覆盖范围。例如,当船沿着坡面的最陡峭方向移动时,由于地形的变化,可能会产生一些测量误差或漏测区域。而当船沿着坡面的最平坦方向移动时,测量的覆盖范围可能会更宽。

在本题的背景下,给定了不同的测绘方向 ββ,目的是为了计算每个方向上多波束测深的覆盖宽度。

更新内容:讲解视频+代码

在这里插入图片描述

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

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

相关文章

【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)

<template><div :class"$options.name"><div class"sg-head">接口代码生成工具</div><div class"sg-container"><div class"sg-start "><div style"margin-bottom: 10px;">接口地…

大规模 Spring Cloud 微服务无损上下线探索与实践

文章目录 什么是无损上下线&#xff1f;大规模 Spring Cloud 微服务架构实现无损上下线的挑战无损上下线的实践1. 使用负载均衡器2. 使用数据库迁移工具3. 动态配置管理4. 错误处理和回滚 未来的趋势1. 容器编排2. 服务网格3. 自动化测试和验证 结论 &#x1f389;欢迎来到云原…

wires hark抓包内容解析

1.Frame 22001&#xff1a;这是该数据包的序号&#xff0c;表示wires hark已经捕获并显示了22001个数据包&#xff1b; 2.225 bytes on wire (1800 bits)&#xff1a;该数据的原始大小、以字节和比特显示&#xff1b; 3.225 bytes captured (1800 bits)&#xff1a;wires har…

经管博士科研基础【19】齐次线性方程组

1. 线性方程组 2. 非线性方程组 非线性方程,就是因变量与自变量之间的关系不是线性的关系,这类方程很多,例如平方关系、对数关系、指数关系、三角函数关系等等。求解此类方程往往很难得到精确解,经常需要求近似解问题。相应的求近似解的方法也逐渐得到大家的重视。 3. 线…

【C++ • STL • 力扣】详解string相关OJ

文章目录 1、仅仅翻转字母2、字符串中的第一个唯一字符3、字符串里最后一个单词的长度4、验证一个字符串是否是回文5、字符串相加总结 ヾ(๑╹◡╹)&#xff89;" 人总要为过去的懒惰而付出代价 ヾ(๑╹◡╹)&#xff89;" 1、仅仅翻转字母 力扣链接 代码1展示&…

【 OpenGauss源码学习 —— 列存储(analyze)(四)】

列存储&#xff08;analyze&#xff09; AcquireSampleCStoreRows 函数es_get_attnums_to_analyze 函数CStoreRelGetCUNumByNow 函数CStore::GetLivedRowNumbers 函数InitGetValFunc 函数CStoreGetfstColIdx 函数CStore::GetCUDesc 函数CStore::IsTheWholeCuDeleted 函数CStore…

Android扫码连接WIFI实现

0&#xff0c;目标 APP中实现扫WIFI分享码自动连接WIFI功能 1&#xff0c;前提条件 设备需要有个扫码器&#xff08;摄像头拍照识别也行&#xff09;&#xff0c;APP调用扫码器读取WIFI连接分享码。 2&#xff0c;增加权限 在AndroidManifest.xml中增加权限 <uses-permissi…

机器学习笔记 - 使用具有triplet loss的孪生网络进行图像相似度估计

一、简述 孪生网络是一种网络架构,包含两个或多个相同的子网络,用于为每个输入生成特征向量并进行比较。 孪生网络可以应用于不同的场景,例如检测重复项、发现异常和人脸识别。 此示例使用具有三个相同子网的孪生网络。我们将向模型提供三张图像,其中两张是相似的(锚点和正…

redis持久化、主从和哨兵架构

一、redis持久化 1、RDB快照&#xff08;snapshot&#xff09; redis配置RDB存储模式&#xff0c;修改redis.conf文件如下配置&#xff1a; # 在300s内有100个或者以上的key被修改就会把redis中的数据持久化到dump.rdb文件中 # save 300 100# 配置数据存放目录&#xff08;现…

算法通关村十四关:青铜-堆结构

青铜挑战-堆结构 堆结构&#xff1a;重要的基础数据结构 明确什么类型的题目可以用堆&#xff0c;以及如何用堆来解决 堆的构造和维护过程都非常复杂 1.堆的概念与特征 1.1基本概念 堆&#xff1a;是将一组数据按照 完全二叉树 的存储顺序&#xff0c;将数据存储在一个一…

【前端】在Vue页面中引入其它vue页面 数据传输 相互调用方法等

主页面 home 从页面 headView 需求 在 home.vue 中引用 headView.Vue 方案: home.vue 代码: 只需要在home.vue 想要的地方添加 <headView></headView> <script>//聊天页面 import headView /view/headView.vueexport default {components: {headView},…

CSDN每日一练 |『括号上色』『严查枪火』『数组排序』2023-09-09

CSDN每日一练 |『括号上色』『严查枪火』『数组排序』2023-09-09 一、题目名称:括号上色二、题目名称:严查枪火三、题目名称:数组排序一、题目名称:括号上色 时间限制:1000ms内存限制:256M 题目描述: 小艺酱又得到了一堆括号。 括号是严格匹配的。 现在给括号进行上色。…

简化转换器:使用您理解的单词进行最先进的 NLP — 第 1 部分 — 输入

一、说明 变形金刚是一种深度学习架构&#xff0c;为人工智能的发展做出了杰出贡献。这是人工智能和整个技术领域的一个重要阶段&#xff0c;但也有点复杂。截至今天&#xff0c;变形金刚上有很多很好的资源&#xff0c;那么为什么要再制作一个呢&#xff1f;两个原因&#xff…

5147. 数量

题目&#xff1a; 样例1&#xff1a; 输入 4 输出 1 样例2&#xff1a; 输入 7 输出 2 样例3&#xff1a; 输入 77 输出 6 思路&#xff1a; 根据题意&#xff0c;如果直接 for 循环暴力&#xff0c;肯定会超时&#xff0c;但是我们换个思路想&#xff0c;只要包含 4 和 7的…

C基础-数组

1.一维数组的创建和初始化 int main() {// int arr1[10];int n 0;scanf("%d",&n);//int count 10;int arr2[n]; //局部的变量&#xff0c;这些局部的变量或者数组是存放在栈区的&#xff0c;存放在栈区上的数组&#xff0c;如果不初始化的话&#xff0c;默认…

matplotlib从起点出发(8)_Tutorial_8_Legend

1 图例教程 在matplotlib中灵活地生成Legend。 本图例指南是legend()中可用文档的扩展——在继续阅读本指南之前&#xff0c;请确保你熟悉legend()文档的内容。 本指南使用了一些常用术语&#xff0c;为清楚起见&#xff0c;此处记录了这些术语&#xff1a; legend entry 图…

如何自启动MySQL服务与解决MySQL字符集问题

1、自启动mysql服务 &#xff08;1&#xff09;查看mysql是否自启动&#xff08;默认自启动&#xff09; systemctl list-unit-files|grep mysqld.service &#xff08;2&#xff09;如不是enabled可以运行如下命令设置自启动 systemctl enable mysqld.sercice2、字符集…

企业架构LNMP学习笔记21

URL重写&#xff1a; ngx_http_rewrite_module 模块用于使用PCRE正则表达式更改请求URI&#xff0c;返回重定向&#xff0c;以及有条件地选择配置。 return 该指令用于结束结束规则的执行并返回状态码给客户端。 403 Forbidden.服务器已经理解请求,但是拒绝执行它 404 Not…

Python使用pymysql三方库操作 mysql数据库

为什么要使用pymysql 在使用Python工作与学习中难免会使用到mysql数据库&#xff0c;使用pymysql三方库可以让我们轻松的对数据库的记录进行操作&#xff0c;如创建、修改&#xff0c;删除表&#xff0c;如增加、删除、修改、查询数据表中的记录&#xff0c;下边记录一下pymysq…

0017Java程序设计-spr农业过程化管理系统

摘 要目 录系统设计开发环境 摘 要 本农业过程化管理系统就是建立在充分利用现在完善科技技术这个理念基础之上&#xff0c;并使用IT技术进行对农业过程化的管理&#xff0c;从而保证种植户能种植出优质的农作物&#xff0c;可以实现农业过程化的在线管理&#xff0c;这样保证…