pythonで関数のフィッティング

多項式で近似する場合

numpyの機能で実行できます。

import numpy as np
x            = np.arange(0, 1000, 1)
y_target = xxx

ndim = 3

# 
Coeffs=np.polyfit(x,y_target,3)

# 
plt.plot( x, np.poly1d(Coeffs)(x) )

一般の関数で近似する場合

scipyのoptimize, curve_fitを使います。

from scipy.optimize import curve_fit

def y_func(x,a,b):
    y = a*x+b
    return y

coefs, pcov = curve_fit(y_func, x, y_target)

plt.plot( x, y_func(x, coefs ) )

参考にしました

NumPy で回帰分析をする - Qiita

Numpy.polyfit を使ったカーブフィッティング - Qiita