ndgrid 和 interpn - matlab

ndgrid and interpn - matlab

我有 4 个网格:

  1. kgrid 即 [77x1];
  2. x 即 [15x1];
  3. z 即 [9x1];
  4. s 即 [2x1];

然后我有一个函数 V 是:

  1. V [77x15x9x2]

我正在尝试在某些 kprime 点插入 V。为此,我正在做:

[ks, xs, zs, ss] = ndgrid(kgrid, x, z, s);
Vprime = interpn(xs, ks, zs, ss, V, xs, kprime, zs, ss, 'spline');

其中 kprime 是 [77x15x9x2]。

所有需要的矩阵(kgrid、x、z、s、V 和 kprime)都可以在这里找到:http://www.filedropper.com/grids

但是我在使用

时遇到了这个错误
Error using griddedInterpolant
Data is not valid NDGRID format.
Error in interpn (line 149)
           F = griddedInterpolant(X{:}, V, method,extrap); 

关于可能是什么问题的任何线索?

interpn 的输入顺序需要与 ndgrid 调用的输出顺序相同。您翻转了 ksxs

vprime = interpn(ks, xs, zs, ss, V, kprime, xs, zs, ss);