[英]How do I find the peak of a fitted Gaussian curve?
所以我已经为一些非常嘈杂的数据拟合了高斯曲线。 我想知道如何找到高斯线峰值的坐标?
def fit_func(x,a,mu,sig,m,c):
gauss = a*sp.exp(-(x-mu)**2/(2*sig**2))
line = m*x+c
return gauss + line
initial_guess=[160,mean,sd,2,100]
po,po_cov=sp.optimize.curve_fit(fit_func,x,y,initial_guess)
这是我用来拟合高斯的代码。 我需要添加更多吗? 或者只是别的什么?
对于正态分布,峰值将位于均值处,因此峰值坐标将是 (mu, a) 对于像gauss = a*exp(-(x-mu)**2/(2*sig**2))
) 这样的表达式gauss = a*exp(-(x-mu)**2/(2*sig**2))
。 对于您的情况,您还添加了线性 function,因此全局最大值将处于正无穷大或负无穷大。 在高斯分布的平均值附近也会有一个局部最大值,你可以找到一个解析表达式,取整个表达式的导数等于0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.