我已经定义了这样的2D高斯:
def gauss2D((x, y), A, x0, y0, sx, sy, offset):
g = offset + A*np.exp(-((x - x0) ** 2. / (2. * sx ** 2) + (y - y0) ** 2 / (2. * sy ** 2)))
return g.ravel()
我想在+/- sx和+/- sy之间进行整合。我知道以前适合我的数据的所有参数:popt, pcov = opt.curve_fit(gauss2D, (x, y), src_region.ravel(), p0=initial_guess)
我可以使用dbquad
吗?或者我需要使用Gauss-Hermite quadratures?
我已经尝试了dbquad
但又回复了:
flux_fit = dblquad(gauss2D, -popt[3], popt[3], lambda x: -popt[4], lambda x: popt[4],
args=(popt[0], popt[1], popt[2], popt[3], popt[4], popt[5]))
return _quadpack._qagse(func,a,b,args,full_output,epsabs,epsrel,limit)
TypeError: gauss2D() takes exactly 7 arguments (8 given)
由于