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

11
有没有一种方法可以使用NumPy/SciPy来插值矢量值函数?
有很多针对标量值函数的选择,我猜我可以使用其中之一来分别估计向量的每个分量,但是否有更有效的方法呢?
详细地说,我有一个函数f(x) = V,其中x是标量,V是一个向量。我还有一组xs和它们对应的Vs。我想使用它来插值和估计任意xV
1个回答

8
插值函数 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.        ])

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接