数学建模B多波束测线问题B

数学建模多波束测线问题

1.问题重述:

单波束测深是一种利用声波在水中传播的技术来测量水深的方法。它通过测量从船上发送声波到声波返回所用的时间来计算水深。然而,由于它是在单一点上连续测量的,因此数据在航迹上非常密集,但在测线之间没有数据。
多波束测深系统是在单波束测深的基础上发展起来的,它能够同时发送多个声波束,覆盖更广的区域。这意味着在海底平坦的区域,它可以测量出以测量船航线为轴线、具有一定宽度的水深区域。为了确保数据的准确性,相邻的测量区域之间需要有一定的重叠。
然而,海底地形的变化复杂,这使得如何设置测线间距成为一个挑战。如果采用平均水深来设置测线间距,可能导致在水深较浅的地方漏测,而如果采用最浅水深来设置间距,可能导致在水深较深的地方出现过多的重叠,浪费数据和时间。因此,需要建立数学模型来确定最佳的测线间距,以便在不同水深条件下实现高效而准确的测量。

2.拟定解决的问题:

问题 1: 在单波束测深中,通过发射声波并测量其传播时间来测量水体深度。数据点在测量船轨迹上密集分布,但在轨迹之间没有数据点。问题要求建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。
问题 2: 考虑了一个矩形的待测海域,其中海底的坡度影响着多波束测深的覆盖宽度。问题要求建立多波束测深覆盖宽度的数学模型。
问题 3: 在一个矩形海域内,需要设计一组测线,以最短的长度覆盖整个海域,同时满足相邻条带之间的重叠率要求。
问题 4: 提供了一组单波束测深数据,目标是设计一组多波束测深的测量布线。要求测线总长度尽可能短,同时覆盖整个待测海域并控制相邻条带之间的重叠率。

3.建模思路及代码、结果

3.1问题一

考虑到多波束测深的关键参数,即开角、坡度和海水深度,我们使用先前建立的数学模型来计算表1中所示位置的指标值。这些指标值包括覆盖宽度W和相邻条带之间的重叠率。为了方便参考和记录,我们将结果以表格形式嵌入到正文中,并同时保存在result1.xlsx文件中。这些计算对于确定最佳的多波束测深参数以及实现高质量的测量数据至关重要。
在建立问题1的数学模型时,我们需要考虑几个关键因素。首先,覆盖宽度W与换能器开角θ和水深D之间的关系是一个关键因素。其次,考虑到海底坡度α,我们需要确定坡度如何影响覆盖宽度W和相邻条带之间的重叠率n。

从几何学的角度来看,覆盖宽度W可以表示为:

在这里插入图片描述

这里,W是覆盖宽度,D是水深,θ是换能器的开角。这个公式表明,W与D和θ成正比,水深越深,开角越大,覆盖宽度就越宽。
然后,我们考虑坡度α对重叠率n的影响。重叠率n可以表示为:
在这里插入图片描述

其中,d是相邻两条测线的间距。这个公式表明,当d小于W时,重叠率n为负数,表示存在漏测。
为了满足便利性和数据完整性的要求,我们需要确保n保持在10%到20%之间。因此,我们可以调整参数D、θ和α,以便在不同的海底地形条件下,实现所需的重叠率范围。
考虑到声波从水面发射并在海底反射后返回,覆盖宽度W可以表示为:
在这里插入图片描述

其中,W是覆盖宽度,D是水深,0是换能器的开角。这个公式描述了声波传播的路径,从而确定了覆盖宽度W。水深越深或开角0越大,覆盖宽度W就越宽,因为声波需要更长的时间才能从水底反射回来,覆盖的海底区域就越广。这个公式在多波束测深中非常重要,因为它帮助确定了每次测量可以覆盖的地理区域

当考虑到海底的坡度α时,实际的覆盖宽度会受到坡度的影响。坡度会导致实际的水深有所变化,从而影响覆盖宽度。因此,当考虑坡度时,水深D应调整为D’,其中:
在这里插入图片描述
这个公式将原始水深D校正为实际水深D’,考虑了海底坡度的影响。坡度α越大,校正后的水深D就越大,覆盖宽度W也会受到影响。所以在多波束测深中,要考虑海底坡度对覆盖宽度的影响,以便更准确地计算覆盖区域。
因此,考虑坡度的覆盖宽度模型可以表示为:
在这里插入图片描述

其中,W’是考虑坡度后的实际覆盖宽度,D’是校正后的实际水深,θ是多波束换能器的开角。这个模型考虑了海底坡度对覆盖宽度的影响,可以用来计算多波束测深系统在不同条件下的覆盖宽度。
根据题目描述,重叠率n可以表示为:
在这里插入图片描述
其中,n表示相邻条带之间的重叠率,d是相邻两条测线的间距,W’是考虑坡度后的实际覆盖宽度。
首先,我们需要计算不同距离下的海水深度D。这可以使用以下公式来计算:
在这里插入图片描述
其中,D是距离测量船中心点处的海水深度,D_c是海域中心点处的海水深度(在题目中为70 m),y是距离测量船中心点的水平距离,α是坡度(在题目中为1.5°)。
这个公式考虑了坡度对海水深度的影响,因此可以用来计算不同距离下的深度D。
接下来,我们可以使用这些不同距离下的海水深度D来计算覆盖宽度W。覆盖宽度W的计算可以使用以下公式:
在这里插入图片描述

其中,W是覆盖宽度,D是距离测量船中心点处的海水深度,θ是多波束换能器的开角(在题目中为120°)。
这个公式考虑了海水深度和开角对覆盖宽度的影响,因此可以用来计算不同距离下的覆盖宽度W。

3.2问题二

多波束测深的覆盖宽度W可以用以下数学模型来表示:
在这里插入图片描述
W 表示覆盖宽度。
D’ 是根据坡度α修正后的水深.
在这里插入图片描述

θ 是多波束换能器的开角,根据题目描述为120°。
部分代码

% Given parameters
theta = 120; % opening angle in degrees
alpha = 1.5; % slope in degrees
center_depth = 120; % depth at the center in meters
distances = [0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1] * 1852; % distances from the center in meters
angles = [0, 45, 90, 135, 180, 225, 270, 315]; % angles in degrees% Function to calculate depth based on the center depth and distance from the center
calculate_depth = @(center_depth, alpha, distance) center_depth - tan(deg2rad(alpha)) * distance;% Function to calculate coverage width based on depth and opening angle
calculate_width = @(depth, theta) 2 * depth * tan(deg2rad(theta / 2));% Calculate depths and coverage widths for all combinations of distances and angles
depths = calculate_depth(center_depth, alpha, distances);
widths = (calculate_width(depths, theta)') * cos(deg2rad(angles));% Replace negative values with 0
widths(widths < 0) = 0;widths

3.3问题三

3.4问题四

4.更多细节和代码(欢迎私信)

详细代码资料:https://github.com/HuaandQi/Mathematical-modeling.git

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

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

相关文章

多通道振弦数据记录仪应用桥梁安全监测的关键要点

多通道振弦数据记录仪应用桥梁安全监测的关键要点 随着近年来桥梁建设和维护的不断推进&#xff0c;桥梁安全监测越来越成为公共关注的焦点。多通道振弦数据记录仪因其高效、准确的数据采集和处理能力&#xff0c;已经成为桥梁安全监测中不可或缺的设备。本文将从以下几个方面…

zabbix企业微信告警

目前&#xff0c;企业微信使用要设置可信域名 华为云搜索云函数 创建函数 选择http函数&#xff0c;随便输入函数名字 回到函数列表&#xff0c;选择刚创建的函数&#xff0c;创建触发器&#xff0c;安全模式选择none 点击右上角管理 选刚创建的api&#xff0c;右边操作点…

07-ThreadLocal有哪些使用场景?【Java面试题总结】

ThreadLocal有哪些使用场景&#xff1f; 7.1 多线程场景下共享变量问题 ThreadLocal是线程本地变量&#xff0c;可以存储共享变量副本&#xff0c;每一个独立线程都有与共享变量一模一样的副本。ThreadLocal在当前线程下共享变量是全局共享的&#xff0c;各个线程之间是相互独…

基于Dubbo实现服务的远程调用

目录 前言 RPC思想 为什么使用Dubbo Dubbo技术框架 ​编辑 调用关系流程 基础实现 A.提供统一业务Api B.编辑服务提供者Product B.a 添加依赖 B.b 添加Dubbo 配置(基于yaml配置文件) B.c 编写并暴露服务 C.编辑服务消费者 C.a 添加依赖 C.b 添加Dubbo配置 C.c 引用…

【Redis】3、Redis主从复制、哨兵、集群

Redis主从复制 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 默认情况下&#xff0c;每台Redis服务器…

PostgreSQL安装异常,服务无法启动导致创建服务器超时

win上安装pg后无法创建服务器&#xff0c;提示创建超时&#xff0c;发现服务列表里面pg15服务 并没有启动&#xff0c;启动服务器发现服务不了&#xff0c;截图忘记截了&#xff0c;复现不了&#xff0c;解决方法是 换个身份&#xff0c;然后继续启动&#xff0c;然后就可以在…

如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

说说 TCP的粘包、拆包

分析&回答 拆包和粘包是在socket编程中经常出现的情况&#xff0c; 在socket通讯过程中&#xff0c;如果通讯的一端一次性连续发送多条数据包&#xff0c;tcp协议会将多个数据包打包成一个tcp报文发送出去&#xff0c;这就是所谓的粘包。如果通讯的一端发送的数据包超过一…

【C++漂流记】一文搞懂类与对象的封装

本篇文章主要说明了类与对象中封装的有关知识&#xff0c;包括属性和行为作为整体、访问权限、class与struct的区别、成员属性的私有化&#xff0c;希望这篇文章可以帮助你更好的了解类与对象这方面的知识。 文章目录 一、属性和行为作为整体二、访问权限三、class与struct的区…

某米ax3000路由器组网解析

我们使用某米k60手机与某米ax3000 wifi6路由器组网&#xff0c;来分析和学习网络速率与瓶颈限制。 某米 AX3000 路由器简介 某米 AX3000 路由器是一款支持 WiFi 6 的双频路由器&#xff0c;它的 MIMO 是 22&#xff0c;也就是两根天线。MIMO 是 Multiple Input Multiple Outpu…

复制tr的一行数据或者复制数据使用,使用jq和php

效果图&#xff1a; 2.Html <!--复制的tr数据&#xff0c;s----------------------------------------------------------------------------------------------->{foreach from$arrs keykk itemvv} <tr><td style"text-align:center;" >1</t…

CH341 USB总线转接芯片

产品概述&#xff1a; CH341是一个USB总线的转接芯片&#xff0c;通过USB总线提供异步串口、打印口、并口以及常用的2线和4线等同步串行接口。 在异步串口方式下&#xff0c;CH341提供串口发送使能、串口接收就绪等交互式的速率控制信号以及常用的MODEM联络信号&#xff0c;用于…

日期--data与String的相互转换

首先我们要明确 yyyy-MM-dd HH:mm:ss 其中y:年份 MM:月份 dd:天 HH:小时 mm&#xff1a;分 ss&#xff1a;秒 date转String // 获取当前时间LocalDateTime dateLocalDateTime.now(); // 设置日期格式DateTimeFormatter formatterDateTimeFormatter.ofPattern("yyyy-MM-dd…

PostGreSQL:时间戳时区问题

时间|日期类型 PostGreSQL数据库内置的时间类型如下&#xff0c;注意到&#xff1a;内置的时间类型被分为了with time zone-带时区、without time zone-不带时区两种类型&#xff0c; time、timestamp和interval都可以接受一个可选的精度值 p&#xff08;取值&#xff1a;0-6&a…

JMeter 4.0 如何获取cookie

文章目录 前言JMeter 4.0 如何获取cookie1. 修改jmeter.properties 文件2. 添加HTTP Cookie 管理器3. 获取cookie信息 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天…

如何为虚拟机添加磁盘,扩充原有分区的磁盘空间

如何为虚拟机添加磁盘&#xff0c;扩充原有分区的磁盘空间 关机新增磁盘 虚拟机关机的状态下&#xff0c;在 VMware 当中新增一块磁盘&#xff0c;选中左边要添加磁盘的虚拟机镜像&#xff0c;然后鼠标右键点击设置。 选中磁盘点击添加 点击下一步&#xff0c;悬着SCSI这个…

慕尼黑主题活动!亚马逊云科技生成式AI全新解决方案,引领未来移动出行领域

IAA作为世界五大车展之一&#xff0c;一直对全球汽车产业的发展起着关键作用&#xff01;2023年9月5日在慕尼黑开幕的IAA MOBILITY 2023以“体验联动智慧出行”为主题&#xff0c;紧跟移动出行领域的前沿变化&#xff0c;将汇集整车企业、开发者、供应商、科技公司、服务提供商…

基于深度学习网络的火灾检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ................................................................................ load F…

vue: 使用下拉树组件@riophae/vue-treeselect

前言: 在vue中, 因为element-ui 2.X是没有tree-select组件的&#xff0c;到了element-plus就有了 riophae/vue-treeselect是一个基于 Vue.js 的树形选择器组件&#xff0c;可以用于选择树形结构的数据。它支持多选、搜索、异步加载等功能&#xff0c;可以自定义选项的样式和模…

如何制作一个百货小程序

在这个数字化时代&#xff0c;小程序已成为各行各业的必备工具。其中&#xff0c;百货小程序因其便捷性和多功能性&#xff0c;越来越受到人们的青睐。那么&#xff0c;如何制作一个百货小程序呢&#xff1f;下面&#xff0c;我们就详细介绍一下无需编写代码的步骤。 一、进入后…