Hi, I know how to make an histogram and make it so it is normalized according to the probability
histogram(x, nbits, 'Normalization','probability')
and also how to fit a gaussian curve to the histogram: histfit (x)
But if I use the command histfit I don't know how to normalize it according to the probability.
I would like to have both, a normalized histogram with the probability, that also has the plot of the gaussian distribution that fits to my data set.
I hope my question is clear and that you can help me :)

 채택된 답변

Alan Stevens
Alan Stevens 2021년 4월 8일

0 개 추천

Here's an example showing one possibility:
gaussian = @(x, m,s) exp(-0.5*((x-m)/s).^2)/(s*sqrt(2*pi));
mu = 5; % Arbitrary mean
sigma = 1; % arbitrary standard deviation
x = mu + sigma*randn(1,400); % Arbitrary random normal data
h = histogram(x);
dh = h.BinWidth;
lo = min(x);
hi = max(x);
dxx = (hi-lo)/100;
xx = linspace(lo,hi,101);
pdf = gaussian(xx, mu, sigma);
scalefactor = sum(h.Values*dh)/(trapz(pdf)*dxx);
pdf = scalefactor*pdf;
hold on
plot(xx,pdf)

댓글 수: 3

Thank you so much for your help! :)
studentmatlaber
studentmatlaber 2021년 10월 29일
@Alan Stevens I ran the code you wrote. But shouldn't the normalized histogram be between 0 and 1?
Alan Stevens
Alan Stevens 2021년 10월 29일
The AREA under the curve should be 1.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

질문:

2021년 4월 8일

댓글:

2021년 10월 29일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by