griddata在所需区域之外生成数据

时间:2019-07-01 19:51:17

标签: matlab interpolation

我正在尝试在点之间插入数据,如下所示 image。当我使用griddata函数matlab时,插值数据超出了原始数据的边界。所需插值区域由图中的边界突出显示。有什么办法解决这个问题?

我的显示插值代码

figure2 = figure;
[x , y] = meshgrid(min(Matrixmin(:,5)):0.01:max(Matrixmin(:,5)),min(Matrixmin(:,6)):0.01:max(Matrixmin(:,6)));%graduation des x et y.
[xi,yi,zi]=griddata(Matrixmin(:,5),Matrixmin(:,6),Matrixmin(:,10),x,y);
contourf(xi,yi,zi,'edgecolor','none','LevelStep',0.01);
h=colorbar('location','Eastout');colormap('jet');

我也尝试过interp2函数,但结果仍然相同。

1 个答案:

答案 0 :(得分:0)

您正在使用[x, y]创建图像边界之外的查询点meshgrid。然后,griddata正在估计那些查询点处的zi值。 meshgridgriddata的行为均符合预期。如果您不希望点超出图像边界,请在创建meshgrid之后使用inpolygon函数删除这些点。