在python中集成二维高斯函数
我定义了一个二维高斯分布,如下所示:在python中集成二维高斯函数,python,integration,gaussian,Python,Integration,Gaussian,我定义了一个二维高斯分布,如下所示: 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\u fit(ga
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\u fit(gauss2D,(x,y),src\u region.ravel(),p0=initial\u guess)
我可以使用dbquad
?或者我需要使用高斯-厄米特求积
我已经尝试了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)
谢谢