一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【数学建模】基于matlab三维数据可视化(华为杯)【含Matlab源码 139期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、案例背景

在数学建模过程中我们经常遇到可视化三维数据的情况。以2017年研究生数学建模比赛A题(无人机在抢险救灾中的优化运用)为例,这个问题的背景是:
2017年8月8日,四川阿坝州九寨沟县发生7.0级地震,造成了不可挽回的人员伤亡和重大的财产损失。由于预测地震比较困难,及时高效的灾后救援是减少地震损失的重要措施。无人机作为一种新型运载工具,能够在救援行动中发挥重要作用。为提高其使用效率,请你们解决无人机优化运用的几个问题。
附件1给出了震区的高程数据,共有2913列,2775行。第一行第一列表示(0,0)点处的海拔高度值(单位:米),相邻单元格之间的距离为38.2米,即第m行第n列单元格中的数据代表坐标(38.2(m-1), 38.2(n-1))处的高度值。
除另有说明外,本题中的无人机都假设平均飞行速度60千米/小时,最大续航时间为8小时,飞行时的转弯半径不小于100米,最大爬升(俯冲)角度为±15°,与其它障碍物(含地面)的安全飞行距离不小于50米,最大飞行高度为海拔5000米。所有无人机均按规划好的航路自主飞行,无须人工控制,完成任务后自动返回原基地。

三、简介

该题目中附件1中给出了震区的高程数据,这个数据包含三个维度:经度、纬度以及高度。matlab中最常用的展示三维数据的方式是画三维曲面,这一功能通过surf函数达到,效果如图1——

另外还可以通过等高线图描述三维数据,实际上是用颜色来表达高度这一维数据,使用matlab的contour函数可达到目的,效果如图2所示——

四、源代码

以下是实现三维地形图和等高图用到的代码——

function mainfun()S1_rawdata=importdata('附件1 区域高程数据.xlsx');
S1_rawdata=S1_rawdata'/1000;
position_Keyareas =[30.3  89.8
66.0  84.7
98.4  76.7
73.7  61.0
57.9  47.6
86.8  22.0
93.6  48.8];x=0:0.0382*10:2774*0.0382;
y=0:0.0382*10:2912*0.0382;%三维地形图
[x,y]=meshgrid(x,y);
figure
surf(x,y,S1_rawdata(1:10:end,1:10:end))xdata0=0:0.0382:2774*0.0382;
ydata0=0:0.0382:2912*0.0382;figure
contour(xdata0,ydata0,S1_rawdata,[2.2,2.4,2.6,2.8,3,3.200,3.400,3.600,3.800,4.000,4.1500])
hold on
plot(110,0,'r>','MarkerFaceColor','r')
text(100,5,'基地H','Color','r')
centername={'A','B','C','D','E','F','G'};
t=0:0.1:2*pi;
xx=sin(t);
yy=cos(t);
for i=1:7plot(position_Keyareas(i,1),position_Keyareas(i,2),'ro','MarkerFaceColor','r')text(position_Keyareas(i,1)-3,position_Keyareas(i,2)+3,centername{i},'Color','r')plot(10*xx+position_Keyareas(i,1),10*yy+position_Keyareas(i,2),'r--')
end%C平均海拔mean(mean(S1_rawdata(2317:2837,1749:2269)))contour(xdata0,ydata0,S1_rawdata,[3,4.150])
hold on
plot(110,0,'r>','MarkerFaceColor','r')
text(100,5,'基地H','Color','r')
centername={'A','B','C','D','E','F','G'};
t=0:0.1:2*pi;
xx=sin(t);
yy=cos(t);
for i=1:7plot(position_Keyareas(i,1),position_Keyareas(i,2),'ro','MarkerFaceColor','r')text(position_Keyareas(i,1)-3,position_Keyareas(i,2)+3,centername{i},'Color','r')plot(10*xx+position_Keyareas(i,1),10*yy+position_Keyareas(i,2),'r--')
endfor i=1:44for j=1:44line([2.5*i,2.5*i],[0,110])line([0,110],[2.5*i,2.5*i])end
end

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]李昕.MATLAB数学建模[M].清华大学出版社.2017
[2]王健,赵国生.MATLAB数学建模与仿真[M].清华大学出版社.2016
[3]余胜威.MATLAB数学建模经典案例实战[M].清华大学出版社.2015

【数学建模】基于matlab三维数据可视化(华为杯)【含Matlab源码 139期】相关推荐

  1. 基于vue+echarts 数据可视化大屏展示[附源码]

    获取 ECharts 的路径有以下几种,请根据您的情况进行选择: 1) 最直接的方法是在 ECharts 的官方网站中挑选适合您的版本进行下载,不同的打包下载应用于不同的开发者功能与体积的需求,或者您 ...

  2. 【数学建模】基于matlab三维海浪模型仿真【含Matlab源码 1159期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数学建模]基于matlab三维海浪模型仿真[含Matlab源码 1159期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付 ...

  3. python数学建模可视化_数学建模之流程图和数据可视化

    数学建模之流程图及数据可视化 前言:数学建模比赛中,最吸引评审老师的就是figure了,figure分为开篇的流程图[模型思路].数据统计图[折线图.柱状图.扇形图.拟合图-].地图[热力分布图].恰 ...

  4. 世界杯ing~这不来个实时数据可视化?(结尾附源码)

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  5. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  6. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  7. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  8. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  9. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  10. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

最新文章

  1. Flashback Data Archive(转)
  2. 用户画像标签维度_神策数据钟秉哲:一文了解用户标签画像,从洞察到突破
  3. Hypersonic SQL开源数据库方向比较流行的纯Java开发的关系型数据库
  4. 焦头烂额一个上午还是搞不定,跪地相求大家,朋友帮忙啊。。。
  5. Python程序设计学习笔记-概述
  6. Microsoft Visual Studio Ultimate 2013 RC 离线安装程序
  7. Windows Server AppFabric安装教程
  8. 应届生毕业第一份工资多少?
  9. 磁盘空间的三种分配方式
  10. 阿里云ACP如何线上考试
  11. 迎新春 送温暖——郧阳小红花健康守护包发放
  12. 看集装箱号码识别技术如何解决港口拥堵
  13. Android判断手机号码是否是正确的手机号码
  14. 常用的70个数据分析网址
  15. Java Web基础概述
  16. 如何求卡方分布的P值
  17. 关于eclipse中没有js代码提示的解决
  18. 从源码解析-Android中Zygote进程是如何fork一个APP进程的
  19. 【Kaggle】成绩为0分的情况
  20. Spring JdbcTemplate异常:EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0

热门文章

  1. php memcache 缓存与memcached 客户端的详细步骤
  2. 自动摘要学习计划(英语)
  3. eclipse安装maven3
  4. python学习[一]
  5. WinForm系统 -- 系统架构
  6. C#压缩指定的文件并生成zip文件
  7. (转)PMP的项目管理5大组
  8. 李昌镐究竟是不是神?
  9. 2020-11-30 OpenCV人工智能图像处理学习笔记 第4章 计算机视觉加强之图像特效
  10. C#委托 模板和回调函数