我必须使用区域的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
我已经完成了上面的绘图,但是我得到的不是那么连续的绘图,我需要在不够接近的点之间进行插值。所以请帮我介绍插值部分。
我正在添加图片:
答案 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
检查您的数据是否可以。