具有附加标量的自身坐标的轮廓图

时间:2017-03-03 09:53:06

标签: matlab matlab-figure

我有以下坐标系(x,y)和附加z值到每个坐标。我需要保持坐标相同而不使用某些线性拟合函数将其更改为某种网格系统。有没有办法可以仅使用该数据创建该数据的轮廓,而不使用griddata或其他东西。

x=[0.2,0.2,0.05,1.1,0.8,0.9,1.8,1.9,2.05];
y=[0,1.1,2.1,0.1,1.1,2.2,0.15,1.1,2.05];
z=[0,1,0,0,2,1,0,1,0;];

plot(x,y, 'bo')

原因是我有另一个模型,有54万个坐标点,这是一个奇怪的形状,如果我开始使用其他功能,它会失去形状并变成矩形。

1 个答案:

答案 0 :(得分:0)

您拥有的一个选项是使用fit创建数据的拟合曲面,然后直接绘制它。这也有一个好处,就是为您提供额外的参数来控制点之间的插值。

f=fit([x',y'],z','linearinterp')

plot(f,'Style','Contour')

将创建类似的内容:

enter image description here

f=fit([x',y'],z','cubicinterp')

plot(f,'Style','Contour')

将插值平滑为:

enter image description here

请在此处查看有关fit和适合绘图选项的更多信息

https://www.mathworks.com/help/curvefit/fit.html#inputarg_fitType

https://www.mathworks.com/help/curvefit/plot.html