有没有办法使用NumPy / SciPy插值向量值函数?
有很多产品适用于标量值函数,我想我可以使用其中一个来分别估计向量的每个分量,但是有没有办法更有效地做到这一点?
详细地说,我有一个函数f(x) = V
,其中x
是标量,V
是向量。我也有一个xs
和它们对应的集合Vs
。我想用它来插值和估计V
任意的x
.
有没有办法使用NumPy / SciPy插值向量值函数?
有很多产品适用于标量值函数,我想我可以使用其中一个来分别估计向量的每个分量,但是有没有办法更有效地做到这一点?
详细地说,我有一个函数f(x) = V
,其中x
是标量,V
是向量。我也有一个xs
和它们对应的集合Vs
。我想用它来插值和估计V
任意的x
.
插值函数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. ])
请注意, 2 不在参数向量中,因此在此示例x
中,第一个分量的插值误差。y