如何用MATLAB 3D插入分散插值图?

时间:2015-12-16 17:46:47

标签: matlab plot

我必须使用区域的x(纬度),y(经度)和z(高度)来制作地形图。我想绘制一个3D情节并完成以下工作:

m=load('try.mat'); %matrix containing 3 columns have 40000 data each
x=reshape(m(:,1),400,400); %latitudes
y=reshape(m(:,2),400,400); %longitudes
z=reshape(m(:,3),400,400); %altitude
surf(x,y,z); % for surface plot

我已经完成了上面的绘图,但是我得到的不是那么连续的绘图,我需要在不够接近的点之间进行插值。所以请帮我介绍插值部分。

我正在添加图片:

enter image description here

1 个答案:

答案 0 :(得分:1)

surf是一个显示四网格的函数,从你的输出我只能告诉你没有以正确的顺序或形状输入数据,它似乎随机连接错误的点。

在最简单的情况下(常规四网格)意味着X的每一列包含相同的值和Y的每一行。一个小例子:

>> [X,Y] = meshgrid(0:4);
>> X

X =

     0     1     2     3     4
     0     1     2     3     4
     0     1     2     3     4
     0     1     2     3     4
     0     1     2     3     4

>> Y

Y =

     0     0     0     0     0
     1     1     1     1     1
     2     2     2     2     2
     3     3     3     3     3
     4     4     4     4     4

检查您的数据是否可以。