【发布时间】:2016-08-11 15:13:15
【问题描述】:
我有 4 个网格:
-
kgrid即 [77x1]; -
x即 [15x1]; -
z即 [9x1]; -
s即 [2x1];
然后我有一个函数 V 是:
-
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);
关于可能是什么问题的任何线索?
【问题讨论】:
-
kgrid、x、z和s都是单调递增的吗? -
是的,确实如此。它们都是单调递增的。
-
我认为您需要保留
ndgrid输出中使用的排序。interpn(ks, xs, zs, ss, V, kprime, xs, zs, ss) -
是的,你完全正确!傻我。谢谢,这让我发疯了。如果您想将其发布为答案,我会接受。
标签: matlab interpolation mesh spline