SciPy のcurve_fit
方法を使用して汎用適合多項式を生成しようとしています。現在の簡略化されたコードは次のようになります。
import functools
import scipy.optimize
def __fit_polynom_order_6(self, data):
def func(x, c1=None, c2=None, c3=None, c4=None, c5=None, c6=None):
return c1*x + c2*x**2 + c3*x**3 + c4*x**4 + c5*x**5 + c6*x**6
x, y = data[:,0], data[:,1]
popt, pcov = scipy.optimize.curve_fit(func, x, y)
func_fit = functools.partial(func, c1=popt[0],c2=popt[1],c3=popt[2],c4=popt[3],c5=popt[4],c6=popt[5])
return func_fit
ここで、次数の多項式で近似を行い、多項式を自動的に生成し、上記の関数と本質的に同じことを任意の多項式でn
行う汎用関数を生成したいと考えています。__fit_polynom_order_n(self, n, data)
これを行う私の試みはすべて無駄になりました。手伝ってくれますか?前もって感謝します!