我的值x
,y
,z
其中x
,y
坐标和z
属性值{ {1}},x
。如何在Matlab中绘制轮廓?按照轮廓帮助的说明给出了直线,这是错误的原因y
,x
是分散的值。
还有其他选择吗?
这是我的数据样本
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);
只创建了一条轮廓线。
答案 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')