我想在matlab中获得二项式pdf函数的直方图。我希望y轴在二项式分布的pdf中,它应该在0和1之间。我想得到一个逐渐衰减的直方图,从0.6 pdf到0 pdf。我希望x轴在事件的出现次数中,它应该在0到5之间,因为样本的总数是5.我希望x = 5处的条约等于零,这意味着获得所有5个活动中的5个是约。零。我在matlab中做了以下事情;
p=0.1;
x=5;
n=2;
y=binopdf(n,x,p);
hist(y);
但是得到的直方图的y轴从0-300缩放,轴缩放0-5,在x = 0的直方图中只出现一个条,总高度= 300。任何人都可以告诉我,我做错了什么?提前谢谢!!
答案 0 :(得分:1)
直方图不显示数据系列的历史记录。它会“分箱”以显示数据的出现次数。
一个问题可能是你写的y=binopdf(n,x,p);
参数的顺序,但是matlab正在寻找Y = binopdf(X,N,P)
通知 n 和 x 的切换。
要获得x = 0到5的结果,显示完整的进展,我想你想要更像这样的东西
p=0.1;
x=0:1:5; %this is now a range of results from 0 to 5
n=2;
y=binopdf(x,n,p);
figure(1)
subplot(1,3,1);stem(x,y, 'filled'); grid on
subplot(1,3,2);bar(x,y, 'BarWidth',1); grid on
subplot(1,3,3);hist(y,6); grid on
修改强> 我稍微修改了一下代码,向您展示了一些不同的图形选项。中间的一个使用条形图,这可能看起来更好。直方图在右侧。它显示了出现的次数,而不是pdf。它说有4次出现0次,1次出现.18次,一次出现.81次
仅供参考,如果你想改变数字的y轴使用类似这样的东西
y_min=0
y_max=1
plot(x,y)
ylim([y_min, y_max])