我们有一个数据集合,我们可以使用指定的分布曲线绘制直方图,并使用以下内容获取区域的中心:
[counts,centers]=hist(Data,14)
h=histfit(Data,14,'normal')
我们可以使用:
获得绘制曲线的100点XData和YDatah(2).XData
h(2).YData
答案 0 :(得分:0)
我认为你可以使用fitdistr
%Generate data
r=randn(100,1);
[counts,centers]=hist(r,20) %r=Data in your case
%fit a Gaussian
pd=fitdist(r(:),'normal')
pd =
NormalDistribution
Normal distribution
mu = 0.0700439 [-0.111376, 0.251463]
sigma = 0.914313 [0.802773, 1.06213]
x=-3:0.1:3;
PDF=pdf(pd,x); %PDF is a vector of y values: it's our fit
%overplot
PDF=PDF/max(PDF);
%scale to y axis
y=ylim;
PDF=PDF*y(2);
hold on
plot(x,PDF,'r-','LineWidth',2)
hold off