2015-06-11 5 views
0

У меня есть массив, называемый 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 этого gaussian_array?

ответ

0

Я смущен, почему вы пошли бы на такие большие длины, чтобы рассчитать стандартное отклонение. В проводке кажется, что вы пытаетесь получить \sigma этого отношение

enter image description here

Если вы пытаетесь получить стандартное отклонение, просто используйте 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() 
Смежные вопросы