根据值计算/估算网格

时间:2014-03-14 21:47:29

标签: matlab grid interpolation

我有一些值和它们在网格上的位置。 e.g。

V1=1
V2=2
V3=4
...

我知道这些值在固定间隔网格上的位置。 e.g。

V2 x x V1 x V3
x  x x x  x x 
V5 x x x V4 V6 

现在我需要的是插入缺失值x。 例如第一行

2 1.66 1.33 1 2.5 4

这是一个二维问题。有什么提示我怎么能有效地解决它? V的量可以变化。 感谢

1 个答案:

答案 0 :(得分:1)

不规则网格问题的简单插值。 meshgrid很有用。

x = [4,1,6,5,1,6];
y = [1,1,1,3,3,3];
v = [1,2,4,2,4,5];

[xq,yq] = meshgrid(1:max(x), 1:max(y));
vq = griddata(x,y,v,xq,yq);

您需要明确定义V数据的x和y位置(这种情况是行号和列号)。然后使用meshgrid生成网格(这种情况下矩阵本身)。然后使用griddata在刚刚创建的网格上插入数据。 vq是您想要的结果矩阵。