Matlab 均匀密度拟合

Matlab 均匀密度拟合,matlab,histogram,Matlab,Histogram,如何使用histfit()在直方图上绘制均匀密度?对于正态分布和其他一些分布,有一个命令可以执行,所以我必须操纵其中一个来获得一致性吗 例如: s4 = randn(50,1); counts = []; [counts(1,:) freq] = histc(s4, [-inf,-3]); for n = 2:7 [counts(n,:) freq] = histc(s4, [-5+n,-4+n]); end [counts(8,:) freq] = histc(s4, [3,inf])

如何使用histfit()在直方图上绘制均匀密度?对于正态分布和其他一些分布,有一个命令可以执行,所以我必须操纵其中一个来获得一致性吗

例如:

s4 = randn(50,1);
counts = [];
[counts(1,:) freq] = histc(s4, [-inf,-3]);
for n = 2:7
    [counts(n,:) freq] = histc(s4, [-5+n,-4+n]);
end
[counts(8,:) freq] = histc(s4, [3,inf]);
counts(1:8)
histfit(s4).
如何实现统一直方图的histfit

s = rand(50,1);
[count freq]= hist(s,5);
histfit(s);
count

如果您只希望直方图顶部有一条水平线,看起来像您给出的示例,请尝试:

s4 = randn(50,1);
[N,X] = hist(s4,sqrt(numel(s4)));
bar(X,N);
hold on
plot([min(s4) max(s4)],[mean(N),mean(N)],'r','LineWidth',2);

这给了我一个直方图,在bin值的平均值处有一条水平线。

换句话说,我所寻找的是直方图顶部的一条直线(均匀),而不是钟形曲线(正常)。