来自数据的轮廓图

时间:2014-05-22 14:36:17

标签: matlab contour

我的值xyz其中xy坐标和z属性值{ {1}},x。如何在Matlab中绘制轮廓?按照轮廓帮助的说明给出了直线,这是错误的原因yx是分散的值。

还有其他选择吗?

这是我的数据样本

y

我做的是:

x           y           z

374268.5544 675550.1559 1
374386.6404 675496.6808 1
374423.119  675481.0927 1
374140.9671 675521.0678 1
374197.4762 675542.8119 1
374123.3594 675476.2379 1
374364.7803 675599.1029 2
374290.032  675614.6592 2
374126.762  675618.8996 2
374315.5478 675612.5549 2
374273.1932 675615.7666 2
374212.045  675644.172  2
374170.9248 675649.8851 2
374322.0588 675730.4371 3
374275.3753 675719.5573 3
374203.5859 675682.2803 3
374258.9523 675725.4594 3
374082.6761 675480.1364 3
374196.921  675689.9341 3
374252.6329 675716.9851 3
374214.0248 675697.2011 3

这给了我直线。然后我尝试了以下内容:

[x y]=meshgrid(x,y); 
z=meshgrid(z);
contour(x,y,z);

只创建了一条轮廓线。

1 个答案:

答案 0 :(得分:1)

我自己创建网格。

[xi, yi] = meshgrid( min(x):1: max(x),  min(y):1: max(y));
zi = griddata(x,y,z, xi,yi);
contour(xi,yi,zi,[2,2])

以下命令可以让您了解正在发生的事情:

figure()
surf(xi,yi,zi);
shading interp; hold on;
plot3(x,y,z,'kx')