12
私は、与えられた共鳴データにガウス型とローレンツ型に適合するプログラムをPythonで書いています。私はもともとscipy.optimize.leastsq
を使用し始めましたが、共分散行列から最適化されたパラメータのエラーを検索することが困難なのちにoptimize.curve_fit
を使用するように変更されました。scipy.optimize.curve_fitを使って追加の引数を渡す?
私はガウスとローレンツの合計に合わせて機能を定義した:p
はフィットパラメータの初期推測の配列です
def mix(x,*p):
ng = numg
p1 = p[:3*ng]
p2 = p[3*ng:]
a = sumarray(gaussian(x,p1),lorentzian(x,p2))
return a
。モーメントnumg
(ガウス形状の数)で
leastsq,covar = opt.curve_fit(mix,energy,intensity,inputtot)
グローバル変数である:ここではcurve_fit
を使用して呼ばれる場合があります。代わりにと同様に、curve_fit
に余分な引数として組み込むことができる方法はありますか?
本当にありがとうございました!完璧に働いた –