Normalized histogram with gaussian fit
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Miquel Vega Paredes
le 8 Avr 2021
Commenté : Alan Stevens
le 29 Oct 2021
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 :)
0 commentaires
Réponse acceptée
Alan Stevens
le 8 Avr 2021
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 commentaires
studentmatlaber
le 29 Oct 2021
@Alan Stevens I ran the code you wrote. But shouldn't the normalized histogram be between 0 and 1?
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!