使用NumPy/SciPy进行向量值函数插值

ktd*_*drv 8 python interpolation numpy scipy

有没有办法使用NumPy/SciPy插入向量值函数?

有很多产品可用于标量值函数,我想我可以使用其中一个来分别估计向量的每个组件,但有没有办法更有效地做到这一点?

详细说明,我有一个函数f(x) = V,其中x是标量,V是一个向量.我也有一个xs和他们相应的集合Vs.我想用它来插值和估计V一个任意的x.

sil*_*ado 7

插值函数scipy.interpolate.interp1d也适用于插值的矢量值数据(但不适用于矢量值参数数据).因此,只要x是标量,就可以直接使用它.

以下代码是scipy文档中给出的示例的略微扩展:

>>> from scipy.interpolate import interp1d
>>> x = np.linspace(0, 10, 10)
>>> y = np.array([np.exp(-x/3.0), 2*x])
>>> f = interp1d(x, y)
>>> f(2)
array([ 0.51950421,  4.        ])
>>> np.array([np.exp(-2/3.0), 2*2])
array([ 0.51341712,  4.        ])
Run Code Online (Sandbox Code Playgroud)

请注意,2不在参数向量中x,因此y在此示例中为第一个组件的插值错误.