に関数polyfitの逆関数を取得し、私は次のようにX/Yポイントの数に二次多項式に適合していますnumpyの
poly = np.polyfit(x, y, 2)
私が得るために、Pythonでこの機能を反転するにはどうすればよい
を2つのx値は特定のy値に対応するか?
に関数polyfitの逆関数を取得し、私は次のようにX/Yポイントの数に二次多項式に適合していますnumpyの
poly = np.polyfit(x, y, 2)
私が得るために、Pythonでこの機能を反転するにはどうすればよい
を2つのx値は特定のy値に対応するか?
poly
と答えをInverse function of numpy.polyval()でどのように組み合わせるかを示す例です。まず
いくつかのデータ:
In [44]: x
Out[44]: array([0, 1, 2, 3, 4, 5, 6, 7])
In [45]: y
Out[45]: array([ 9, 4, 0, -1, -1, 4, 8, 16])
は、データへの多項式をフィット:多項式はそれを行うにはy0
In [47]: y0 = 4
値を持つ
In [46]: poly = np.polyfit(x, y, 2)
検索、作成poly1d
オブジェクト:
In [48]: p = np.poly1d(poly)
そしてp - y0
のルーツを見つける:
In [49]: (p - y0).roots
Out[49]: array([ 5.21787721, 0.90644711])
チェック:
In [54]: x0 = (p - y0).roots
In [55]: p(x0)
Out[55]: array([ 4., 4.])
np.polyfit
は、最良適合多項式の係数を返します。したがって、あなたのpoly
はc2, c1, c0
含まれていて、あなたは
. 2
. c x + c x + c = y
. 2 1 0
ソリューションは、例えばhereのための多くの場所で見つけることができます解決しなければなりません。
あなたがこれを見ましたhttp://stackoverflow.com/questions/32847605/reverse-output-of- polyfit-numpy? – Chuck
http://stackoverflow.com/questions/23749610/inverse-function-of-numpy-polyvalもご覧ください –