Fit a histogram and normal distribution to data
8 views (last 30 days)
Show older comments
I have the following variable:

The numbers on the left column represent the bin edges and the numbers on the right column represent the percentage frequency of the bin. For example:
(>1400 = 0%) and (between 1000 and 1400 = 1.1961%) and (between 710 and 1000 = 2.26725%) and so on.
I would like to construct a histogram and a probability density function (I think a gaussian curve fits well).
The problem is that I do not know the exact code for this and that the bins are not all the same size.
Answers (2)
Image Analyst
on 10 Mar 2017
Use fitdist(). The example in the help is:
%%Fit a Normal Distribution to Data
% Copyright 2015 The MathWorks, Inc.
Load the sample data. Create a vector containing the patients' weight data.
load hospital
x = hospital.Weight;
Create a normal distribution object by fitting it to the data.
pd = fitdist(x,'Normal')
Plot the pdf of the distribution.
x_values = 50:1:250;
y = pdf(pd,x_values);
plot(x_values,y,'LineWidth',2)
2 Comments
Image Analyst
on 25 May 2017
You can use the count values of your histogram bins for x. The "x_values" would be the values of the histogram bin centers.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!