有人能告诉我如何在matlab上绘制统一分布吗?

时间:2015-05-28 12:43:16

标签: matlab distribution uniform

我已经有了这个代码,我有点借用高斯分布并对它进行了修改。 如下所示

[f,x]=hist(rand(1000000,1),50);%# create histogram from a normal distribution.
g=1/sqrt(2*pi)*exp(-0.5*x.^2);%# pdf of the normal distribution
%#METHOD 2: DIVIDE BY AREA
figure(2)
bar(x,f/trapz(x,f));hold on
plot(x,1,'r');hold off .

现在有什么我可以改变它来使红线没有分离或没有? 让我知道 。 非常感谢!!

1 个答案:

答案 0 :(得分:0)

你想要红线是什么?如果你想要一个红色常量,你应该使用

plot(x,ones(size(x)),'r-')

如果你想根据均匀分布绘制它,将其标准化为一,

[f,x]=hist(rand(1000000,1),50);
bar(x,f/trapz(x,f));hold on
plot(x,ones(size(x)),'r-');
hold off 

如果除以函数的积分,则分布下的面积等于1。

如果你想直接进行高斯分布,你应该从randn而不是兰德得到随机数,例如

[f,x]=hist(randn(1000000,1),50)
bar(x,f/trapz(x,f))