如何从 Matlab 中的坐标值计算三角插值?

How to calculate a triangular interpolation from values in coordinates in Matlab?

如果我有一个矩阵,其中第一列和第二列与坐标相关,第三列与值相关,我如何插入第三列值来创建 iscurves 和颜色条范围?

M=[
342854  657145  309
342996  657287  73
343137  657428  84
342006  657145  1122
342147  657287  777
342289  657428  426
342430  657570  638
342571  657711  200
342713  657852  787
341723  657711  1141
341864  657852  555
342006  657994  1157
342147  658135  355
342289  658277  374
341299  658135  467
341440  658277  672
341582  658418  459
341723  658560  735
341864  658701  781
341016  658701  1233
341157  658842  218
341299  658984  539
341370  659054  1351];

并获得类似附件图片的东西

由于您的数据不在一个统一的网格中,您需要使用griddata进行插值。

[xq,yq]=meshgrid(linspace(min(M(:,1)),max(M(:,1)),100),linspace(min(M(:,2)),max(M(:,2)),100));
zq=griddata(M(:,1),M(:,2),M(:,3),xq(:),yq(:),'cubic'); %cubic for smoother results
[c,h]=contourf(xq,yq,reshape(zq,100,100));
clabel(c,h);