插值法绘制山区地貌图和等高线

实验内容

在某山区测得一些地点的高程如下表。平面区域为:
1200<=x<=4000,1200<=y<=3600
试作出该山区的地貌图和等高线图,并对对最近邻点插值、双线性插值方法和双三次插值方法等几种方法的插值效果进行比较。表格如下
在这里插入图片描述

实验设计原理

利用表中所给出的离散数据画出图像,利用邻点插值、双线性插值方法和双三次插值方法等几种方法,生成较为平滑的地貌图和等高线。

程序代码(含注释语句)

>>Z=zeros(7,8);%生成78列零矩阵
>>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('三次插值等高线图');

结果展示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 26
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值