подгонка данных — подбор нормального распределения к гистограмме в переполнении стека

Я работаю над измерением спектра в C ++, и до сих пор моя проблема заключается в том, как оценить точное значение шума. Итак, я сделал гистограмму своих данных, и я хочу подогнать гауссово распределение к этой гистограмме, а затем у меня есть среднее значение этого подгоночного распределения, как в matlab [mean, variance] = normfit (x).

vec noise::gauss_fit(vec spectrum_sensed,int Nfft)
{
Histogram<double> hist;
hist.setup(min(spectrum_sensed),max(spectrum_sensed),Nfft);
// now I need to fit this histogram by a normal distribution "Normal"// and finally I get the mean of this distribution: normal.get_setup();
}

Заранее благодарю за любую помощь!

0

Решение

Нормальное распределение делает это довольно легко:

mean = sum(spectrum_sensed)/N

variance = sum((spectrum_sensed-mean)^2)/N

Вы не соответствуете гистограмме, вы соответствуете данным. И в случае нормального распределения, нет никакой подгонки, поскольку все аналитически.

1

Другие решения