3

たとえば、次のように2つの配列で関数を定義すると、次のようになります。

from numpy import *
x = arange(-10,10,0.1)
y = x**3

2つの近い点y(5)とy(5.1)の値を補間するy(5.05)の値を抽出するにはどうすればよいですか?その値を見つけたい場合は、次の方法を使用します。

y0 = y[x>5][0]

そして、の値を取得する必要がありますがyx=5.1それはより良い方法が存在すると思います。おそらくそれらは正しい方法です。

4

2 に答える 2

4

線形補間で十分な場合は、numpy.interpがあります。

>>> import numpy as np
>>> x = np.arange(-10, 10, 0.1)
>>> y = x**3
>>> np.interp(5.05, x, y)
128.82549999999998
>>> 5.05**3
128.787625

scipyそして、補間のためのツールがたくさんあります[ドキュメント]

>>> import scipy.interpolate
>>> f = scipy.interpolate.UnivariateSpline(x, y)
>>> f
<scipy.interpolate.fitpack2.LSQUnivariateSpline object at 0xa85708c>
>>> f(5.05)
array(128.78762500000025)
于 2013-03-24T13:17:47.600 に答える
4

numpy/scipyにこのための関数があります。

import numpy as np
np.interp(5.05, x, y)
于 2013-03-24T13:18:31.407 に答える