【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献
【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献

1 题目
1.1 问题背景
多波束测深系统是利用声波在水中的传播特性来测量水体深度的技术,是在单波束测深的基础上发展起来的,该系统在与航迹垂直的平面内一次能发射出数十个乃至上百个波束,再由接收换能器接收由海底返回的声波。多波束测深系统克服了单波束测深的缺点,在海底平坦的海域内,能够测量出以测量船测线为轴线且具有一定宽度的全覆盖水深条带。
多波束测深条带的覆盖宽度 𝑊 随换能器开角 𝜃 和水深 𝐷 的变化而变化。若测线相互平行且海底地形平坦,则相邻条带之间的重叠率定义为 𝜂 = 1 − 𝑑 ,其中 𝑑 为相邻两条测线的间𝑊距,𝑊 为条带的覆盖宽度。若 𝜂 < 0,则表示漏测。为保证测量的便利性和数据的完整性,相邻条带之间应有 10%~20% 的重叠率。但真实海底地形起伏变化大,若采用海区平均水深设计测线间隔,虽然条带之间的平均重叠率可以满足要求,但在水深较浅处会出现漏测的情况(图 5),影响测量质量;若采用海区最浅处水深设计测线间隔,虽然最浅处的重叠率可以满足要求,但在水深较深处会出现重叠过多的情况(图 6),数据冗余量大,影响测量效率。
问题
问题 1: 与测线方向垂直的平面和海底坡面的交线构成一条与水平面夹角为 𝛼 的斜线(图7),称 𝛼 为坡度。请建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。

图 7 问题 1 的示意图
若多波束换能器的开角为 120∘,坡度为 1.5∘,海域中心点处的海水深度为 70 m,利用上述模型计算表 1 中所列位置的指标值,将结果以表 1 的格式放在正文中,同时保存到 result1.xlsx 文件中。
表1 问题1 的计算结果
| 测线距中心点处的距离/m | −800 | −600 | −400 | −200 | 0 | 200 | 400 | 600 | 800 |
|---|---|---|---|---|---|---|---|---|---|
| 海水深度/m | 70 | ||||||||
| 覆盖宽度/m | |||||||||
| 与前一条测线的重叠率/% | — |
问题 2: 考虑一个矩形待测海域(图 8),测线方向与海底坡面的法向在水平面上投影的夹角为 𝛽,请建立多波束测深覆盖宽度的数学模型。

图 8 问题 2 的示意图
若多波束换能器的开角为 120∘,坡度为 1.5∘,海域中心点处的海水深度为 120 m,利用上述模型计算表 2 中所列位置多波束测深的覆盖宽度,将结果以表 2 的格式放在正文中,同时保存到 result2.xlsx 文件中。
表 2 问题 2 的计算结果
| 覆盖宽度/m | 测量船距海域中心点处的距离/海里 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0.3 | 0.6 | 0.9 | 1.2 | 1.5 | 1.8 | 2.1 | ||
| 测线方向夹角/° | 0 | ||||||||
| 45 | |||||||||
| 90 | |||||||||
| 135 | |||||||||
| 180 | |||||||||
| 225 | |||||||||
| 270 | |||||||||
| 315 |
问题 3: 考虑一个南北长 2 海里、东西宽 4 海里的矩形海域内,海域中心点处的海水深度为 110 m,西深东浅,坡度为 1.5∘,多波束换能器的开角为 120∘。请设计一组测量长度最短、可完全覆盖整个待测海域的测线,且相邻条带之间的重叠率满足 10%~20% 的要求。
问题 4: 海水深度数据(附件.xlsx)是若干年前某海域(南北长 5 海里、东西宽 4 海里)
单波束测量的测深数据,现希望利用这组数据为多波束测量船的测量布线提供帮助。在设计测线时,有如下要求:
(1) 沿测线扫描形成的条带尽可能地覆盖整个待测海域;
(2)相邻条带之间的重叠率尽量控制在 20% 以下;
(3) 测线的总长度尽可能短。在设计出具体的测线后,请计算如下指标:a.测线的总长度;b. 漏测海区占总待测海域面积的百分比;c. 在重叠区域中, 重叠率超过 20% 部分的总长度。
注 在附件中,横、纵坐标的单位是海里,海水深度的单位是米。1 海里=1852 米。附件 海水深度数据
2 问题分析
2.1 问题一
这个题需要建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。首先,需要确定多波束测深系统中每个波束所覆盖的区域。由于多波束测深系统能够在与航迹垂直的平面内发射数十个乃至上百个波束,因此可以将整个海域划分为若干个小区域,每个小区域都有自己的覆盖宽度W和重叠率 η \eta η。
其次,覆盖宽度W的大小与换能器开角 θ \theta θ和水深D有关。可以根据实际数据和测深原理来建立覆盖宽度W与 θ \theta θ 和D的关系模型。最后,相邻条带之间的重叠率$\eta $可以通过计算相邻两条测线的间距d,并根据d和覆盖宽度W的关系来确定。
2.2 问题二
建立多波束测深覆盖宽度的数学模型,以求解在矩形待测海域中,测线方向与海底坡面的法向在水平面上投影的夹角为 β \beta β时,覆盖宽度 W 的数学表达式。
由题设可知,多波束测深覆盖宽度 W 与换能器开角 θ \theta θ 和水深 D 相关,并且相邻条带之间应有一定的重叠率 η \eta η。要构建数学模型,可以考虑以下几点因素:
(1)换能器开角 θ \theta θ :换能器开角的大小将影响覆盖宽度 W 的大小。一般情况下,换能器开角越大,覆盖宽度也会相应增大。
(2)水深 D :水深越大,覆盖宽度也会相应增大。这是因为,在水深较大的区域,声波传播的距离更长,因此覆盖宽度需要更大才能实现全覆盖。
(3)相邻条带之间的重叠率 η \eta η :根据题设要求,相邻条带之间应有一定的重叠率,一般为10%~20%。通过调整测线间隔,可以控制重叠率的大小。
2.3 问题三
根据问题背景,需要设计一组测量长度最短、可完全覆盖整个待测海域的测线,并且要求相邻条带之间的重叠率满足 10%~20% 的要求。考虑到海域中心点处的海水深度为 110 m,海域的南北长为 2 海里,东西宽为 4 海里,海底的坡度为 1.5 ∘ \circ ∘,多波束换能器的开角为 120 ∘ \circ ∘。为了设计满足要求的测线,可以采用以下方法:
(1)利用海域的南北长和东西宽来确定需要的测线条数。
(2)根据海底坡度和海水深度,在每条测线上确定一定间距的测点。
(3)在第一条测线上选择一个起点,在该起点的水平投影上选择第一个测点,然后根据换能器开角确定下一个测点的位置,并以此类推,直到覆盖整个待测海域。
(4)计算每个测线的长度,并根据重叠率的要求进行调整。
2.4 问题四
这是一个优化问题,需要考虑三个指标:测线总长度、漏测海区占比、重叠率超过20%的总长度。为了达到这些指标,需要设计一个合理的多波束测线。由于海底地形变化复杂,而且数据只有单波束测量的海深信息,因此需要通过数学模型来解决该问题。
数学模型过程的话,可以按照以下的思路
(1)建立坐标系和网格
通过题目背景描述和文件附件中提供的数据,可以建立一个坐标系和网格,使得整个希望测量的海域被覆盖。同时,为了方便处理问题,可以将网格等分成大小相同的子区域。
(2)设计波束扫描范围和扫描方向
根据多波束测线的原理,可以将船体在水平方向上的扫描范围分为若干个波束,每个波束的扫描范围为一条扇形区域,扇形区域的中心在测线上,开始和结束角度通过设计波束的开角确定。同时,需要确定波束的扫描方向,可以采取等角度分布或等角度间距分布。
(3)优化测线设计
在确定了波束的扫描范围和方向后,可以使用数学优化方法来设计测线。需要依据要求,设计出一种测线布局方式,可以覆盖整个测量区域,并使相邻条带之间的重叠率尽量控制在20%以下,同时使总长度最短。可以采取贪心算法或遗传算法等优化方法。
(4)计算指标
根据所设计的测线布局方式,可以计算出测线总长度和漏测海区占比。同时,为了计算重叠率超过20%的总长度,需要对相邻条带之间的区域进行计算,并判断是否超过20%。
3 数学模型
3.1 问题一
多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型可以表示为:
W = 2 ( D t a n ( θ i ) − ( d / 2 ) t a n ( θ 0 ) ) W = 2(D tan(\theta_i)-(d/2) tan(\theta_0)) \ W=2(Dtan(θi)−(d/2)tan(θ0))
η = 1 − d / W \eta = 1 -d/W η=1−d/W
其中, α \alpha α 为坡度,g ≥ 0为任意波束编号, θ g \theta_g θg为波束 g 的发射角度,W 为波束的覆盖宽度,d 为波束间距,D 为水深, η \eta η 为相邻条带之间的重叠率。
(1)对于每个测线位置x,根据海水深度D和坡度α计算出每个波束的发射角度 θ g \theta_g θg:
θ g = t a n − 1 ( ( x + d / 2 ) t a n ( α ) − D t a n ( o p e n a n g l e / 2 − g π / 180 ) ) \theta_g = tan^{-1}((x+d/2)tan(\alpha) - D tan(open_angle/2-g\pi /180)) θg=tan−1((x+d/2)tan(α)−Dtan(openangle/2−gπ/180))
(2)根据模型公式依次计算每个波束的覆盖宽度 W g W_g Wg:
W g = 2 ( D t a n ( θ g ) − ( d / 2 ) t a n ( θ 0 ) ) W_g = 2(D tan(\theta_g)-(d/2)tan(\theta_0)) Wg=2(Dtan(θg)−(d/2)tan(θ0))
(3)依次计算每个测线与前一条测线的重叠率 η g \eta_g ηg:
η g = 1 − d / W g , η 0 = 0 \eta_g = 1-d/W_g,\eta_0 = 0 ηg=1−d/Wg,η0=0
3.2 问题二
多波束测深覆盖宽度的数学模型可表示为:
W = D × t a n ( θ / 2 ) × ( 1 − η ) W = D × tan(\theta/2)×(1-\eta) W=D×tan(θ/2)×(1−η)
其中,
W 为多波束测深的覆盖宽度;
D 为水深;
θ \theta θ 为换能器开角;
η \eta η 为相邻条带之间的重叠率( η \eta η = 1 - d,d 为相邻两条测线的间距)。
3.3 问题三
设 n 为测线条数, d 为相邻两条测线的间距。根据问题背景,将问题转化为求解 n 和 d 的最优解,使得满足以下条件:
请下载完整资料
3.4 问题四
需要设计的多波束测深系统需要对 m m m个点进行测量。建立二维直角坐标系,令点 i i i的坐标为 ( x i , y i ) (x_i, y_i) (xi,yi),对海域进行网格化处理,将整个海域分成 n × n n\times n n×n个小网格,每个小网格的边长为 d d d。设扫描的总宽度为 W W W,每个波束的宽度为 w w w,角度间距为 α \alpha α(即相邻波束之间的角度度数),开角为 θ \theta θ。则有:
W = m w α ( 1 ) W = \frac{mw}{\alpha} \qquad (1) W=αmw(1)
请下载完整资料
4 完整资料

相关文章:
【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献
【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献 1 题目 1.1 问题背景 多波束测深系统是利用声波在水中的传播特性来测量水体深度的技术,是在单波束测深的基础上发展起来的,该系统在与航迹垂直的平面内一次能发射出数十个乃至上百个…...
如何处理异步编程中的回调地狱问题?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 解决回调地狱问题的方法⭐使用 Promise⭐使用 async/await⭐ 使用回调函数库⭐模块化⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端…...
什么是Lambda表达式?
Lambda表达式是Java 8引入的一个重要特性,用于简化函数式编程中的匿名函数的定义和使用。它可以被视为一种轻量级的匿名函数,可以作为参数传递给方法或存储在变量中。 Lambda表达式的语法形式如下: (parameters) -> expression 或 (para…...
公式trick备忘录
增大不同class feature之间的距离用hinge loss 相关, similarity learning, svm https://www.youtube.com/watch?vQtAYgtBnhws https://www.youtube.com/watch?vbM4_AstaBZo&t286s...
向量数据库Milvus Cloud核心组件再升级,主打就是一个低延迟、高准确度
支持 ScaNN 索引 Faiss 实现的 ScaNN,又名 FastScan,使用更小的 PQ 编码和相应的指令集可以更为友好地访问 CPU 寄存器,从而使其拥有优秀的索引性能。该索引在 Cohere 数据集,Recall 约 95% 的时候,Milvus 使用 Knowhere 2.x 版本端到端的 QPS 是 IVF_FLAT 的 7 倍,HN…...
ELK框架Logstash配合Filebeats和kafka使用
ELK框架Logstash配合Filebeats和kafka使用 本文目录 ELK框架Logstash配合Filebeats和kafka使用配置文件结构input为标准输入,output为标准输出input为log文件output为标准输出output为es input为tcpspringboot配置logstash配置 input为filebeatsfilebeats配置logsta…...
后端面试话术集锦第 十二 篇:java基础部分面试话术
这是后端面试集锦第十二篇博文——java基础部分面试话术❗❗❗ 1. String类中常用的方法 split():把字符串分割成字符串数组 indexOf():从指定字符提取索引位置 trim():去除字符串两端空格 replace():替换 hashCode():返回此字符串的哈希码 subString():截取字符串 equa…...
【广州华锐互动】电厂三维数字孪生大屏的功能和优势
在工业互联网的背景下,电厂三维数字孪生大屏系统正在逐渐成为电力行业的重要技术。通过创建电厂的虚拟模型,这个数字孪生系统可以实现对实际电厂的实时监控,预测维护需求,优化运营效率,甚至在某些情况下,能…...
es6解构用法
一: 解构数组 二:解构对象 一: 解构数组 原理:模式(结构匹配), 索引值相同的完成赋值 总结:位置对应 二:解构对象 原理:模式(结构匹配), 属性名相同的完成赋值 {}{} 对象结构赋值的应用 常用的就以上两种 &#…...
a_bogus 音 算法还原大赏
a_bogus算法还原大赏 hello,大家好呀,我是你的好兄弟,[星云牛马],花了几天时间算法还原了这个参数的加密过程,一起看看吧,记得加入我们的学习群:529528142 天才第一步,F12你会不&am…...
【计算机网络】UDP协议详解
目录 前言 端口号的拓展 端口号范围划分 netstat pidof UDP协议 UDP协议端格式 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 前言 我们前面讲完了http和https协议,它们都属于应用层,按照TCP/IP五层模…...
2023-9-8 满足条件的01序列
题目链接:满足条件的01序列 #include <iostream> #include <algorithm>using namespace std;typedef long long LL;const int mod 1e9 7;int qmi(int a, int k, int p) {int res 1;while(k){if(k & 1) res (LL) res * a % p;a (LL) a * a % p;…...
获取街道、乡镇级的地图geoJson数据,使用echarts绘制地图
在此以泰州靖江市为例为例,记录一下实现过程 1、整体完成后实现的效果如下 2、获取数据 (1)DataV.GeoAtlas 第一个能想到的获取数据的网站就是它, 是阿里推出的一个用于获取全国、各省、各市以及个县级市详细地图信息的json文…...
DBMS_RESOURCE_MANAGER
参考文档: Database Administrator’s Guide 27 Managing Resources with Oracle Database Resource Manager 27.5.5 Creating a Resource Plan BEGINDBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN > bugdb_plan,…...
通俗讲解傅里叶变换
参考:六一礼物:给孩子解释什么是傅里叶变换 牛!不看任何数学公式来讲解傅里叶变换 如何直观形象、生动有趣地给文科学生介绍傅里叶变换? - 知乎 从基说起…… 从数学的角度,提供一个形象有趣的解释。理解傅里叶变换的钥匙是理解基♂,它能让你重新认识世界。 1. 什么是…...
数据结构——带头双向循环链表
数据结构——带头双向循环链表 一、带头双向循环链表的定义二、带头双向循环链表的实现2.1初始化创建带头双向循环链表的节点2.2申请新节点2.3节点的初始化2.4带头双向循环链表的尾插2.5带头双向循环链表的头插2.6判空函数2.7带头双向循环链表的打印函数2.8带头双向循环链表的尾…...
MySQL大数据量高速迁移,500GB只需1个小时
在上篇「快、准、稳的实现亿级别MySQL大表迁移」的文章中,介绍了NineData在单张大表场景下的迁移性能和优势。但在大部分场景中,可能遇到的是多张表构成的大数据量场景下的数据搬迁问题。因为搬迁数据量较大,迁移的时长、稳定性及准确性都受到…...
kafka复习:(25)kafka stream
一、java代码: package com.cisdi.dsp.modules.metaAnalysis.rest.kafka2023;import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.streams.KafkaStreams; import org.apache.kafka.streams.StreamsBuilder; import org.apache.kafka.s…...
接口自动化测试总结
一、什么项目适合做自动化测试? 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程&#x…...
【Redis】Lua脚本在Redis中的基本使用及其原子性保证原理
文章目录 背景一、Eval二、EvalSHA三、Redis 对 Lua 脚本的管理3.1 script flush3.2 script exists3.3 script load3.4 script kill 四、Lua在Redis中原子性执行的原理 背景 Lua 本身是一种轻量小巧的脚本语言,在Redis2.6版本开始引入了对Lua脚本的支持。通过在服务…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
深入理解 React 样式方案
React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...
Pandas 可视化集成:数据科学家的高效绘图指南
为什么选择 Pandas 进行数据可视化? 在数据科学和分析领域,可视化是理解数据、发现模式和传达见解的关键步骤。Python 生态系统提供了多种可视化工具,如 Matplotlib、Seaborn、Plotly 等,但 Pandas 内置的可视化功能因其与数据结…...
Axure Rp 11 安装、汉化、授权
Axure Rp 11 安装、汉化、授权 1、前言2、汉化2.1、汉化文件下载2.2、windows汉化流程2.3、 macOs汉化流程 3、授权 1、前言 Axure Rp 11官方下载链接:https://www.axure.com/downloadthanks 2、汉化 2.1、汉化文件下载 链接: https://pan.baidu.com/s/18Clf…...
虚拟机网络不通的问题(这里以win10的问题为主,模式NAT)
当我们网关配置好了,DNS也配置好了,最后在虚拟机里还是无法访问百度的网址。 第一种情况: 我们先考虑一下,网关的IP是否和虚拟机编辑器里的IP一样不,如果不一样需要更改一下,因为我们访问百度需要从物理机…...
迁移科技3D视觉系统:重塑纸箱拆垛场景的智能革命
一、传统拆垛场景的困局与破局之道 在汽车零部件仓库中,每天有超过2万只异形纸箱需要拆垛分拣。传统人工拆垛面临三大挑战: 效率瓶颈:工人每小时仅能处理200-300件,且存在间歇性疲劳安全隐患:20kg以上重箱搬运导致年…...
