我有以下坐标系(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万个坐标点,这是一个奇怪的形状,如果我开始使用其他功能,它会失去形状并变成矩形。
答案 0 :(得分:0)
您拥有的一个选项是使用fit
创建数据的拟合曲面,然后直接绘制它。这也有一个好处,就是为您提供额外的参数来控制点之间的插值。
f=fit([x',y'],z','linearinterp')
plot(f,'Style','Contour')
将创建类似的内容:
和
f=fit([x',y'],z','cubicinterp')
plot(f,'Style','Contour')
将插值平滑为:
请在此处查看有关fit
和适合绘图选项的更多信息
https://www.mathworks.com/help/curvefit/fit.html#inputarg_fitType