我有一个名为gaussian_array
的数组,它由一系列数字组成,一旦绘制,就会形成高斯数,形成一个很好的近似值。
我需要理解这个高斯的\sigma
,但我不允许使用任何类型的拟合。我到目前为止所尝试的是计算高斯的峰值,它由数组的第一个元素(高斯以原点为中心),gaussian_array[0]
给出,然后我认为它可能是有用的使用FWHM和\sigma
与FWHM之间众所周知的关系。
但是,我不确切知道如何在python中实现它。我认为写一些像
for i in range(len(gaussian_array)):
if gaussian[i] = FWHM:
sigma = gaussian[i]/(2.*np.sqrt(2.np.log(2)))
但我认为这不是一个可靠的程序,因为gaussian_array
的某个元素与计算出的FWHM完全一致并不总是正确的。我甚至无法通过值和原点之间的差异的平方和来计算标准偏差。
那么,我如何估算sigma
的{{1}}?
答案 0 :(得分:0)
我很困惑为什么你会如此努力地计算标准偏差。在你发布它似乎你试图通过这种关系获得\sigma
如果您想获得标准偏差,只需使用numpy
import numpy as np
# method 1 - use np.std() on a python data structure
sigma = np.std(gaussian_array)
# method 2 - convert to numpy array and use .std() method
gaussian_array = np.asarray(gaussian_array)
sigma = gaussian_array.std()