水道测量建实验报告.docVIP

  • 13
  • 0
  • 约5.93千字
  • 约 12页
  • 2016-12-08 发布于贵州
  • 举报
水道测量建实验报告

《数学建模与数学实验》实验报告 实验2 水道测量 专业、班级 学号 姓名 课程编号实验类型 验证性 学时 2 实验(上机)地点 教七楼数学实验中心 完成时间 2015-05-26 任课教师 谷根代 评分 一、实验目的及要求 1.掌握数学软件Matlab的基本用法和一些常用的规则,能用该软件进行编程; 2.能够借助数学软件进行二维和三维网格化数据绘图; 3.理解数据生成的基本方法。 二、借助数学软件,研究、解答以下问题 依据“水道测量”所给数据和要求, 给出你的分析、假设、模型和结果,列出必要的程序清单。 【解】: 模型的分析 目的:根据给定的少量采样数据,构造海底曲面。 方法:曲面拟合. 关键:如何生成网格数据? 模型的假设 第一种假设 假设每个给定的数据点均影响其它未知点G的深度,且离得越近影响越大。具体是:每个给定数据点对未知点G的影响与它们之间距离的平方成反比。 第二种假设 (1)航线通常在浅水海域,海底光滑且无暗礁; (2)给定的数据准确,每个给定的数据点均影响其它未知点G的深度,且离得越近影响越大。具体是: ①每个给定数据点对未知点G的影响与它们之间距离的平方成反比。 ②任何两个给定的数据点之间的深度的变化都影响其他未知点G的深度,这种影响取决于三个距离: a. 两个给定的数据点的连线与该未知点的垂直距离; b. 该未知点离它最近的那个数据点之间的距离; c. 两个给定的数据点之间的距离。 (3)两个给定的数据点之间深度的变化对某未知点G的影响沿两点的连线线性传播。如图 1所示。 注:符号说明 给定的14数据点按表的顺序记 为: 未知网格点G的深度; 模型的建立 第一种假设对应的模型 根据假设处于区域[75,200]×[-100,150]内的任意未知点G(x,y)的深度计算: 第二种假设对应的模型 根据假设处于区域[75,200]×[-100,150]内的任意未知点G(x,y)的深度计算: (四)模型的求解及结果 1.第一种假设对应模型的求解 (1)代码: 先建立M文件shuishen0.m,计算未知网格点的深度: function z=shuishen0(x,y) x0=[129.0,140.0,108.5,88.00,185.5,195.0,105.5,157.5,107.5,77.00,81.00,162.00,117.5,162.0]; y0=[7.500,141.5,28.00,147.0,22.50,137.5,85.50,-6.500,-81.00,3.000,56.50,84.00,-38.50,-66.50]; z0=[4.000,8.000,6.000,8.000,6.000,8.000,8.000,9.000,9.000,8.000,8.000,4.000,9.000,9.000]; z=0;%未知点G的水深; d=0; for i=1:14 c=(x-x0(i))^2+(y-y0(i))^2; d=d+1/c; z=z+z0(i)/c; end z=z/d; 然后建立M文件haiditu0.m: function haiditu0(m,n) hx=(200-75)/m; hy=(150-(-100))/n; for i=1:m+1 x(i)=75+(i-1)*hx; for j=1:n+1 y(j)=-100+(j-1)*hy; z(i,j)=shuishen0(x(i),y(j)); end end z=-z; mesh(x,y,z) title(海底分布图); %画海底等高线图 figure [C,h]=contour(x,y,z); %在从命令contour生成的二维等高线结构C的位置上添加标签h Clabel(C,h); title(海底等高线图) end 最后在Command Window输入haiditu0(125,100)即得如下图形。 结果: 通过观察局部等高线图,不断缩小范围,寻找在区域[75,200]*[-50,50]内水深小于5Ft的位置。 A.代码: ①调用函数 part1_haiditu0(10,5) function part1_haiditu0(m,n) hx=(140-115)/m; hy=(20-(-2))/n; for i=1:m+1 x(i)=115+(i-1)*hx; for j=1:n+1

文档评论(0)

1亿VIP精品文档

相关文档