插值法绘制山区地貌图和等高线
实验内容
在某山区测得一些地点的高程如下表。平面区域为:
1200<=x<=4000,1200<=y<=3600
试作出该山区的地貌图和等高线图,并对对最近邻点插值、双线性插值方法和双三次插值方法等几种方法的插值效果进行比较。表格如下
实验设计原理
利用表中所给出的离散数据画出图像,利用邻点插值、双线性插值方法和双三次插值方法等几种方法,生成较为平滑的地貌图和等高线。
程序代码(含注释语句)
>>Z=zeros(7,8);%生成7行8列零矩阵
>>Z(1,:)=[1130 1250 1280 1230 1040 900 500 700 ];
>>Z(2,:)=[1320 1450 1420 1400 1300 700 900 850 ];
>>Z(3,:)=[1390 1500 1500 1400 900 1100 1060 950 ];
>>Z(4,:)=[1500 1200 1100 1550 1600 1550 1380 1070];
>>Z(5,:)=[1500 1200 1100 1550 1600 1550 1380 1070];
>>Z(6,:)=[1500 1550 1600 1550 1600 1600 1600 1550];
>>Z(7,:)=[1480 1500 1550 1510 1430 1300 1200 980 ];%Z矩阵中填入相应数值
>>X=1200:400:4000;%画出原始数据图像
>>Y=1200:400:3600;
>> [X,Y]=meshgrid(X,Y);
>>surf(X,Y,Z);
>>xlabel('X坐标');%装饰坐标轴
>>ylabel('Y坐标');
>>zlabel('高度');
>>grid on;
>>title('原始数据图像');
>>colorbar;%显示色彩条
>>X1=1200:10:4000;%生成插值点
>>Y1=1200:10:3600;
>>Z1=interp2(X,Y,Z,X1',Y1,'nearest');%邻点差值得出一系列数据Z1
>>[X1,Y1]=meshgrid(X1,Y1);
>>mesh(X1,Y1,Z1);
>>xlabel('X坐标');
>>ylabel('Y坐标');
>>zlabel('高度');
>>grid on;
>>title('邻点插值山区地貌图');
>>colorbar;
>>[M,c]=contour(X1,Y1,Z1);%画出等高线
>>c.Fill='on';%将等高线填充颜色
>>c.LineColor='b';
>>c.ShowText='on';
>>colorbar;
>>title('邻点插值等高线图');
Z2=interp2(X,Y,Z,X1',Y1,'liner');%线性插值
mesh(X1,Y1,Z2);
xlabel('X坐标');
ylabel('Y坐标');
zlabel('高度');
grid on;
title('线性插值山区地貌图');
colorbar;
[M,c]=contour(X1,Y1,Z2);%线性插值等高线
c.Fill='on';
c.LineColor='b';
c.ShowText='on';
colorbar;
title('线性插值等高线图');
>>Z3=interp2(X,Y,Z,X1',Y1,'cubic');%三次插值
>>mesh(X1,Y1,Z3);
>>xlabel('X坐标');
>>ylabel('Y坐标');
>>zlabel('高度');
>>grid on;
>>title('三次插值山区地貌图');
>>colorbar;
[M,c]=contour(X1,Y1,Z3);
c.Fill='on';
c.LineColor='b';
c.ShowText='on';
colorbar;
title('三次插值等高线图');
结果展示
插值法绘制山区地貌图和等高线相关推荐
- 山区地貌图 在某山区(平面区域(0,2800)´(0,2400)内,单位:米)测得一些地点的高程(单位:米)如表1,试作出该山区的地貌图.
山区地貌图 在某山区(平面区域(0,2800)´(0,2400)内,单位:米)测得一些地点的高程(单位:米)如表1,试作出该山区的地貌图. 表1 2400 2000 1600 1200 800 400 ...
- matlab 绘制等高线图,contourf等高线填充,并优化(初学者教程)
matlab 绘制等高线图,contourf等高线填充,并优化(初学者教程) 本人是matlab初学者,由于科研作图需要,最近经常使用matlab画等高线图,想把我的代码分享出来. 我就拿txt文本作 ...
- ArcGIS导入xyz序列并绘制地形图(含等高线、面体积、点距离的计算)
目录 一.前情概要 二.在ArcGIS中绘制地形图 2.1 导入xyz数据并转换为table 2.2 显示xyz数据 2.3 创建TIN 2.4 转为栅格数据 2.5加载地形图 三.其他操作 3.1 ...
- 山区地貌图MATLAB
在某山区(平面区域(0,2800)´(0,2400)内,单位:米)测得一些地点的高程(单位:米)如表1,试作出该山区的地貌图. 2400 2000 1600 1200 800 400 0 1430 1 ...
- Matlab中绘制网格图和等高线:mesh 和 surf
转自:http://huzhyi21.blog.163.com/blog/static/1007396201061052214302/ %author:huzhyi,2010-07-10 Mat ...
- Matlab-Octave中绘制网格图和等高线:mesh 和 surf
x=linspace(-50, 50, 50); % 在x轴上取50点 y=linspace(-25, 25, 25); % 在y轴上取25点 [xx,yy]=meshgrid(x, y); % xx ...
- 一篇文章带你认识数学建模中的二维插值
本篇文章主要是认识数学建模中的二维插值 二维插值的具体计算可参考:一篇文章带你搞定二维插值的 MATLAB 计算 文章目录 一.引言 二.网格节点的概念 三.散乱节点的概念 四.二维插值的常见方法 1 ...
- Python 数据分析三剑客之 Matplotlib(八):等高线 / 等值线图的绘制
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- Matlab来绘制三维曲面图、等高线图等
文章目录 前言 一.Matlab插值 1.Meshgrid函数 2.Griddata函数 二.绘制 1.使用函数 (1)linspace函数 (2)peaks函数 (3)polt3函数 (4)mesh ...
- 利用Axes3D绘制三维性能曲面
简 介: 绘制二维函数的3D曲面图可以帮助我们更好理解函数内所蕴含的规律.Axes3D是matplotlib中的绘制函数.利用surface, countour,countourf等可以很好的显示函数 ...
最新文章
- Android Studio Gradle优化方法
- 【控制】《多无人机协同控制技术》周伟老师-第3章-面向协同控制的无人机单机控制
- python面试题之Python如何实现单例模式?
- ie运行不了java脚本界面_IE浏览器不能运行js JS代码失效不能运行了如何解决
- Airbnb搜索:Embedding表示学习
- extmail如何登陆mysql_rhel5.4下postfix+mysql+extmail中mysql密码怎么设置?
- Linux调试分析诊断利器——strace
- Spring MVC 切面 ResponseBodyAdvice 对返回值增强
- Executors介绍
- 使用联想Y460一键拯救系统
- grid autosport额外内容下载慢_世界土壤数据库(HWSD)全球土壤数据下载处理
- 自媒体平台数据统计分析爬虫系列教程文档
- 单机魔兽世界服务器显示不兼容,大芒果单机魔兽世界不能登陆怎么办?
- Ubuntu压缩文件的分卷压缩和解压
- cgi-bin是什么
- OpenCV粘连对象计数
- Linux系统裁剪与定制
- SAP工具箱 配置导入模板
- win10删除.x文件的在“你要如何打开这个文件”的某个无效应用
- 伤疤好了有黑印怎么办_疤痕留下黑印怎么办 不妨试试这四种方法