使用scipy.interpolate.RegularGridInterpolator得到错误“有100个点数组,但值有2个维度”

时间:2018-04-10 22:08:31

标签: python numpy scipy interpolation

我知道有一个post解释了如何执行此操作,但我认为我按照帖子中列出的步骤操作,但仍然出现了尺寸错误。

这就是我的尝试:

import numpy as np
from scipy.interpolate import RegularGridInterpolator
x = np.linspace(0,1,100)
y = x ** 2
f = RegularGridInterpolator(x,y)

我所做的与链接帖子完全相同。但是,我仍然遇到同样的错误:

  

有100个点数组,但值有2个维度

是因为我正在处理一维数据吗?非常感谢,如果我能得到一个指针。

1 个答案:

答案 0 :(得分:1)

正确的语法是

RegularGridInterpolator((x,), y)

网格由数组元组决定:一个用于第一个坐标,一个用于第二个坐标,等等。这里需要一个1个列表的元组。

如果这看起来不必要地复杂,那是因为它是。这种方法并不适用于使用一维域进行插值,其中更简单的方法就足够了(interp1d等)。