NumPy / SciPyを使用してベクトル値関数を補間する方法はありますか?
スカラー値関数で機能する製品はたくさんあり、そのうちの1つを使用してベクトルの各コンポーネントを個別に推定できると思いますが、より効率的に行う方法はありますか?
詳述すると、私は関数を持っています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