オブジェクト関数が
Pythonでコーディングする方法は?私はすでに通常のものをコーディングしました:
numpy を np としてインポート scipyをspとしてインポート from scipy.optimize import leastsq pylab を pl としてインポート m = 9 #多項式の次数 デフ real_func(x): return np.sin(2*np.pi*x) #sin(2 pi x) def fake_func(p, x): f = np.poly1d(p) #多項式 f(x)を返す デフォルト残差(p、y、x): y を返す - fake_func(p, x) #無作為に 9 点を x として選ぶ x = np.linspace(0, 1, 9) x_show = np.linspace(0, 1, 1000) y0 = real_func(x) #ノーマライズノイズを追加 y1 = [np.random.normal(0, 0.1) + y for y0] p0 = np.random.randn(m) plsq = leastsq(残差, p0, args=(y1, x)) print 'フィッティングパラメータ:', plsq[0] pl.plot(x_show, real_func(x_show), label='real') pl.plot(x_show, fake_func(plsq[0], x_show), label='適合曲線') pl.plot(x, y1, 'bo', label='ノイズあり') pl.legend() pl.show()