我一直在试图找出蓝峰的全峰半峰值(FWHM)(见图)。绿色峰值和品红色峰值组合成蓝色峰值。我一直在使用以下等式来找到绿色和品红色峰的FWHM:fwhm = 2*np.sqrt(2*(math.log(2)))*sd
其中sd =标准偏差。我创建了绿色和洋红色的峰值,我知道标准偏差,这就是为什么我可以使用该公式。找到一个峰的半峰全宽
我用下面的代码创建的绿色和红色峰:
def make_norm_dist(self, x, mean, sd):
import numpy as np
norm = []
for i in range(x.size):
norm += [1.0/(sd*np.sqrt(2*np.pi))*np.exp(-(x[i] - mean)**2/(2*sd**2))]
return np.array(norm)
如果我不知道没蓝峰由两个峰,我只是在我的数据有蓝峰,怎么会我找到了FWHM?
我一直在使用这个代码,以找到顶部峰:
peak_top = 0.0e-1000
for i in x_axis:
if i > peak_top:
peak_top = i
我可以除以2 peak_top
找到一半的高度,然后试图找到对应的y值半高,但如果没有完全匹配半高的x值,我会遇到麻烦。
我很确定有一个更优雅的解决方案,我正在尝试。
为什么不计算蓝色峰值的标准偏差,并使用将FWHM与标准偏差相关的方程? –