1 / 21
文档名称:

2023西南交通大学数学建模校赛c题-景区灭火.doc

格式:doc   大小:1,022KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2023西南交通大学数学建模校赛c题-景区灭火.doc

上传人:小果冻 2023/5/12 文件大小:1022 KB

下载得到文件列表

2023西南交通大学数学建模校赛c题-景区灭火.doc

文档介绍

文档介绍:该【2023西南交通大学数学建模校赛c题-景区灭火 】是由【小果冻】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【2023西南交通大学数学建模校赛c题-景区灭火 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。西南交通大学2023年大学生数学建模竞赛题目:B参赛队员1参赛队员2参赛队员3姓名刘童超王枝李假设晗学号202357282023470220234693学院数学学院信息学院信息学院专业统计计软计软电话1592894886213548154032****************@******@313033320@西南交通大学教务处西南交通大学实验室及设备管理处西南交通大学数学建模创新实践基地景区灭火的数学模型【摘要】本文采用网格划分的方法,将连续性问题离散化,建立了图论及其相关模型。同时运用MATLAB的图形处理能力进行了三维制图及一维二维插值,运用C++进行了Dijsktra等算法的编程计算,进而合理的解决了问题。第一问中,考虑到等高线的缺失是由于“破损〞,我们舍弃了曲线模拟,而采用了一维插值的方法,并用MATLAB给出了插值曲线,并直观的将曲线拟合至原等高线,发现其效果良好。对于插值结果与直观观察的差异,我们给出了误差分析,并解释了原因。第二问中,在等高线高度的情况下,我们采用了二维插值的方法,并利用MATLAB软件画出了三维地形图,将景区外貌直观的呈现了出来,在计算地外表积时,我们采用了划分网格、近似求值的方法,利用MATLAB所给出的网格平面与水平面的夹角,估算出了地外表积,,对于其误差,我们也进一步给出了分析。第三问中,我们利用第二问中所求出的高度矩阵,用网格中心点代替此网格,给出了任意两点的空间距离,即任意两点的权重,从而建立了一个图论模型,对于该无向图,我们采用Dijkstra算法利用C++,确定出了最正确路线,并运用MATLAB作图直观的将路线做了出来,并估算出最优路线的空间距离长度约为4567m。第四问中,我们将着火点简化为几个最有可能发生火灾并且救援不方便的点,建立了一个目标规划的模型,然后在一定范围内,对消防点进行了假设,利用第三问的C++程序求出了到着火点的最长时间,移动消防点求出了最优消防站的地址。计算得出结论:在给定的坐标系下,最优消防站点的位置位于点〔28,25〕。【关键词】:网格离散化大型稀疏阵三次样条插值最短路线MATLABC++一、问题的提出某国家级森林公园的地形等高图如图1所示。由于该风景区植被丰富,拥有大量的国家级重点保护动植物,因此旅游管理部门在图1的A点设置了景区消防站,当景区发生火灾时能及时控制和消灭火情。图1说明:该图水平及竖直方向以10m为单位,山高以50m为单位。请你利用所学数学知识答复以下问题:1、由于人为原因,图1所示的等高图出现了局部破损的情况,请利用数学模型修补好该地图;2、在完成第一问的根底上,结合数学模型建立该景区的三维地形图,并估计该景区的地外表积;3、某天图1所示的B点发生了火灾,于是需要从景区消防站派遣消防员去B点灭火,建立模型确定最正确灭火路线。4、如果需要对景区消防站进行重新选址,请建立模型确定合理的消防站地址。二、〔一个像素单位为10m〕,相邻两等高线的高程差为50m;,故假设消防员步行灭火;;,其等高线之间的山体均匀线性变化;;。三、符号说明1.——第个网格,即其编号方式为先行后列,.——表示整个景区的外表积;3.——表示第个网格的面积;4.——表示第个网格与水平面的夹角;5.——表示点到点的权值。四、问题分析第一问中,需要修补该地形图缺失的等高线,主要有两种方法:一是平面插值,二是曲线拟合。由于曲线拟合的原那么是使各点距拟合曲线的距离平方和最小,故拟合曲线根本不过点。而考虑到题目所给前提为“等高图破损〞,故等高线需过点,因此我们选用平面插值方法。插值方法有很多种,比方拉格朗日插值,艾米尔特插值,三次样条插值等,我们可以根据各自优劣来选择其插值方式,进而利用MATLAB软件编程计算,绘制出等高线。第二问中,需要画出景区的三维地形图,经过分析,可以利用MATLAB强大的数据处理功能对问题进行求解。对于未知坐标点的高程,可以用MATLAB进行二维插值,从而绘制出地形图。在需要计算地外表积的时候,可以根据假设5的平面假设,利用分块求和的方法,计算出地外表积。第三问中,需要寻找最正确路线,使消防员由消防站A赶到火灾点B的时间最短,即在假设3的速度均匀的条件下,求一条最短时间的路线。可以将最短时间问题简化为最短路径的问题。而对于每两个已经简化的点,由C++编程可以算出其路径,然后根据Dijkstra算法,可以求出其最短路径,即最正确灭火路线。为了将直观将结果展现出来,我们可以做出它的路径图。第四问中,需要选择合理的消防站地址,这是图论中的选址问题,目标是该消防站到最远处的景区着火点时间最短,为了防止繁琐的运算,我们可以将着火点选取在几个最不利的位置,将消防站选取在尽量“中心〞的位置,运用C++编程对之进行遍历,进而求出最正确消防站地址。五、,我们在等高线的修补过程中宜采用插值法而不是曲线拟合,而对于插值法那么有拉格朗日插值、艾米尔特插值、三次样条插值、线性插值等,下面我们将对几种主要的插值方法进行比拟。-1次多项式进行插值,其优点是在整个区间,只需要一个简单多项式函数去拟合,但其缺点也显而易见,即在点过多的情况下,反而易出现龙格现象——即在一些点不收敛于原函数。,这样的整个区间上的插值函数是一个分段函数。其优点是在单个区间上的函数简单,而缺点不能保证在整个函数区间中都可导,这样的插值方法与假设3中的可导性假设相矛盾,故在此不适用。c三次样条插值三次样条插值函数在各个区间中均是三次函数,并且在各个点中均连续可导,这样良好的性质在物理等领域中有着广泛的用途,鉴于此,我们在等高线的修补一问中选择这种方法。,并通过比例尺量取所需要的点的坐标。图1因为在进行插值运算时,选取的点个数太多会造成方程复杂并且误差过大,而选取点的个数太少会又造成信息量缺乏而不够精确,故经过分析比拟,我们选取4-6个点作为插值点,具体选取点如下:等高线1等高线2等高线3等高线4等高线5等高线6〔12,37〕(22,33)(15,43)(17,37)(17,41)(19,40)〔13,36〕(24,33)(16,38)(19,36)(18,38)(20,38)(15,35)(26,33)(17,36)(24,35)_(20,37)(22,37)(18,33)(28,33)(19,35)(26,35)(22,36)(24,)(19,32)(21,34)(24,)(26,)(20,32)(23,34)(26,)(22,31)表1各等高线的插值点的选取〔单位:百米〕利用以上数据,使用MATLAB对各个等高线进行三次样条插值,并输出结果,其中程序详见附录1等高线1-6的插值函数图像输出如图2图2插值曲线将以上所得等高线插入原图所缺失的局部,所得到的修补等高线如图3所示(其中红色局部为修补局部):,某些地方所插入的等高线趋势稍显不自然,这是由以下因素引起的:1).工程误差。在工程测量中,等高线的测量都是由有限个测量的准确值经插值而成,换而言之,其等高线并不是“处处精确〞,只要满足工程需要就可以了。所以,在这插值的误差中,这局部工程误差不可防止,但却是允许的。2〕人为误差。在模型的建立及求解的过程中,我们需要量取需要的点的坐标,尽管我们使用了CAD的坐标量取功能,但仍在读取坐标等步骤难免出现误差,这局部误差会随着工作精细程度的增加而降低。3〕系统误差。在选择插入方法的时候,我们考虑到连续可导性的要求,选择了三次样条插值,如果选用其他插值方法的话,结果又会有所差异。这种误差在改良插值方法后可以降低。,而且除了等高线上的点的高程,其他高程我们并不知道。而该山体的边界条件处理也是极其复杂的,所以用连续性方法将曲面方程求出来再用积分的方法求出地外表积的分析解是不现实的。于是我们采用离散型方法,将平面地形图划分成假设干个方格,将每个方格近似看做一个平面,从而可以用二维平面插值的方法和各局部累加求和的方法求出三维地形图和地外表积,这其实是一种数值近似算法的思想。考虑到该公园的面积相当大,并且消防站及火灾面积均相当大,我们没有必要求出地外表积及地形图的精确值,故我们将该森林公园划分为5151个方形区域,,欲建立该景区的三维地形图,我们可以采用二元插值的方法。二元插值的思想与一元插值的根本思想一致,对原始数据点〔x,y,z〕构造函数求出插值点的数据。在此,我们在x方向和y方向均采用三次多项式插值。MATLAB所编程序详见附录2,运算的三维地形结果图见图5图5从以上三维地形图可以清楚的直观认识到该景区的地表形状,为后面的外表积估计模型和最正确灭火路线模型的建立提供了直观的认识。,每一块山体近似看作一个平面,该平面和水平面有一个夹角,如图6,该斜平面的面积与之在水平面的投影面积有关系:〔5-1〕图6整个景区的地外表积S可以由以下公式计算:〔5-2〕其中S为整个景区的地外表积为第i个网格的水平面投影面积,这里=100m100m=10000为第i个网格平面与水平面的二面角,其取值可以通过插值的方法求出来,由于取值太多,全部取值见附件。经过EXCEL的计算可以得出结果S=266310000=,误差主要来自以下三个方面1〕的选取。是根据线性插值的方法得来的,该运算过程将与实际情况出现偏差。2〕的运算。我们在知道之后,再来计算tan与sec,该过程的数据有效位数将使结果出现误差。3〕山体各网格平面为平面的假设。该山体的外表肯定为一个不规那么三维曲面,我们将每一个网格假设成一个平面,将会导致误差。不过,总的来说,这些误差是不可防止的,并且该误差也是满足工程需求的。,我们将其中心局部的高度近似看做该网格的平均高度,那么一个平面那么简化为一个“点〞。对于这些点的高度,可以用附录2的二维平面MATLAB插值方法求得,表2摘录了B点所在的山的一局部高度,它表示的坐标范围为〔16,41〕到〔26,51〕,单位为m,完整数据见附件。000000000000000005560656565004555595980858585852055655995951051001001001005565591001101001251401501501507559100125100125160175185190190591001258100125150200215230225225591101001251502152302502602852755912510012515023025526528530030059120150125150235260275305325325表2有了这些数据,我们就可以求出任意两点的空间距离。“高度〞文件中中表示了任意网点i的高度,这是一个5151的矩阵,不妨记为A,我们需要由此求出任意相邻两点的空间距离〔为了计算方便,我们在容许误差的情况下,假设路线仅沿X、Y方向〕,这是一个26012601的矩阵,不妨记为B。对于编号转换的问题,我们采用先行后列的方法,即将A矩阵中的点〔a,b〕记为B矩阵中的第个点〔n为矩阵的列数,此处为51〕。B中的第i个点在A中对应的行标和列标分别为: