我一直无法使用scipy中的RegularGridInterpolator
来插值3维(甚至更高)的数据。我从插值器中获得了荒谬的值。在阅读完此post的答案之后,我明白了原因:索引编制是不同的。注意,在MATLAB代码中,索引遵循V(j,i,k)
,但是在Python中,索引遵循V(i,j,k)
。
在我的代码中,我将在单个矢量中生成数据,并将其重塑为可以在MATLAB中工作的正确尺寸:
###x is a one-dimensional np vector that has 100*20*20 elements
f = x.reshape(100,20,20).
如果我使用MATLAB的f
,则interp3
的索引将起作用。如何转换f
的索引,使其在Python的RegularGridInterpolator
下工作?
此外,我需要一个尺寸大于3的解决方案。