Hi everybody. I have an array.
1) I do a histfit(data) to get a histogram representation of my data with a normal distribution curve on top. I want a 3rd thing on this graph and that is a smooth line representing the data (so I want the curve representing the distribution of my data on top of this to compare with the normal distribution)
Thanks.

 Akzeptierte Antwort

Tom Lane
Tom Lane am 19 Feb. 2012

2 Stimmen

There is a ksdensity function that can produce a kernel-smooth density estimate. The issue is that it produces a density (integrates to 1) and the histogram is not a density (bar heights sum to 1). You could figure out the area of the histogram and re-scale the ksdensity values. Alternatively, here's a way to create the histgram, normal curve, and kernel density separately:
x = [randn(100,1); 4+randn(50,1)];
[hts,ctrs] = hist(x)
bar(ctrs,hts,'hist')
area = sum(hts) * (ctrs(2)-ctrs(1))
xx = linspace(-3,7);
hold on; plot(xx,area*normpdf(xx,mean(x),std(x)),'r-')
f = ksdensity(x,xx);
plot(xx,area*f,'g-')
hold off

2 Kommentare

tiago
tiago am 11 Sep. 2013
Hi, thanks a lot for the help with the code There is any way to know the r^2 of the normal curve?
Thanks in advance
Tom Lane
Tom Lane am 11 Sep. 2013
The normal curve is computed from the raw data, which is one-dimensional rather than the two-dimensional x/y data normally associated with R^2. So while maybe you could make something up related to the bar heights and the density values, I don't think there is a good way to apply R^2 here.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Jyoti Verma
Jyoti Verma am 13 Nov. 2019

0 Stimmen

a=[4,5,1,2,2,3,4,2,2,1]
b=[4;5;1;2;2;3;4;2;2;1]
n=length(a);
RangeMax=max(a);
RangeMin=min(a);
sizehist=RangeMax-RangeMin+1;
histogram=zeros(sizehist,1);
for i=1:n
histogram(a(i))=histogram(a(i))+1;
end
bar(histogram);
pavan kumar
pavan kumar am 6 Aug. 2021

0 Stimmen

What is the procedure to find the Histogram coefficients?

Gefragt:

am 19 Feb. 2012

Beantwortet:

am 6 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by