入力として2つの独立変数x、yと3つのパラメータをa、b、cとする関数をフィットしようとしています。これは私のテストコードです:フィッティング関数に引数を渡します。
import numpy as np
from scipy.optimize import curve_fit
def func(x,y, a, b, c):
return a*np.exp(-b*(x+y)) + c
y= x = np.linspace(0,4,50)
z = func(x,y, 2.5, 1.3, 0.5) #works ok
#generate data to be fitted
zn = z + 0.2*np.random.normal(size=len(x))
popt, pcov = curve_fit(func, x,y, zn) #<--------Problem here!!!!!
しかし、私はエラーを取得しています: "FUNC()は(51が与えられた)正確に5引数を取ります"。引数x、yを正しく渡すには?
'' curve_fit 'のドキュメントは 'func'パラメータについて何を言いますか?明らかに、それは51のパラメータでそれを呼び出そうとしているので、おそらくあなたはドキュメントを再読み込みする必要があります。 – Wes