我知道有一个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个维度
是因为我正在处理一维数据吗?非常感谢,如果我能得到一个指针。
答案 0 :(得分:1)
正确的语法是
RegularGridInterpolator((x,), y)
网格由数组元组决定:一个用于第一个坐标,一个用于第二个坐标,等等。这里需要一个1个列表的元组。
如果这看起来不必要地复杂,那是因为它是。这种方法并不适用于使用一维域进行插值,其中更简单的方法就足够了(interp1d
等)。