Log-Normal fit of histogram

12 views (last 30 days)
De Ar
De Ar on 29 Oct 2019
Answered: Jeff Miller on 29 Oct 2019
I have a skewed Gaussian distribution in my histogram that I am trying to fit using a log-normal distribution, but my code is giving me a flat fit. Any suggestions to what I am doing wrong?
skewedGauss.png
Attempt
yyaxis left
bar(binLocations, counts);
xlabel('Intensity')
ylabel('Pixel Counts')
% Log-Normal fit
pd = fitdist(counts, 'LogNormal');
pd = makedist('LogNormal', 'mu', pd.mu, 'sigma', pd.sigma);
counts_fit = pdf(pd, binLocations);
counts_fit = counts_fit./sum(counts_fit);
yyaxis right
plot(binLocations, counts_fit, '-', 'LineWidth', 2)
xlim([min(binLocations(:)) max(binLocations(:))])

Answers (1)

Jeff Miller
Jeff Miller on 29 Oct 2019
fitdist wants the x values that were tabulated to get the histogram, not the bin counts. From your histogram, it looks like your x should be a vector of length about 10^6 containing numbers in the range 0.4--0.8.

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!