8

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

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

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

4

1 回答 1

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.        ])

请注意, 2 不在参数向量中,因此在此示例x中,第一个分量的插值误差。y

于 2012-06-21T06:52:30.773 回答