在MATLAB

时间:2015-11-17 09:40:56

标签: matlab interpolation

我有一个2D矩阵F,我希望用interp2进行插值。要了解此函数的工作原理,我一直在尝试执行以下行:

Fq = interp2(X,Z,F,X,Z);

其中X和Z是用meshgrid处理后的F轴。我认为Fq将等于F,因为我试图使用相同的轴X和Z进行插值。

但是,我得到了这个输出:

Error using griddedInterpolant
The grid vectors do not define a grid of points that match the given values.

为什么我会收到错误?

有关您的信息,这些是在X,Z和F上运行函数size的结果:

>> size(X)

ans =

   109    24

>> size(Z)

ans =

   109    24

>> size(F)

ans =

    24   109

谢谢。

1 个答案:

答案 0 :(得分:2)

正如函数所说,您的数据大小不同(请记住,[109 24]不是[24 109])。

查看您的数据,看起来您可能有F' F'换位。如果是这样,那么

Fq = interp2(X,Z,F.',X,Z);

将完成这项工作