有很多产品可用于标量值函数,我想我可以使用其中一个来分别估计向量的每个分量,但有没有办法更有效地做到这一点?
详细说明,我有一个函数f(x) = V
,其中x
是标量,V
是一个向量。我还有一个xs
及其对应的Vs
的集合。我想用它来为任意V
插入和估算x
。
答案 0 :(得分:7)
插值函数scipy.interpolate.interp1d
也适用于插值的矢量值数据(不适用于矢量值参数数据)。因此,只要x
是标量,就可以直接使用它。
以下代码是the scipy documentation中给出的示例的略微扩展:
>>> 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
中第一个组件的插值错误。