如何在matlab中设置直方图条的高度?

how to set the height of histogram bar in matlab?

我想在 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。谁能告诉我我做错了什么?提前致谢!!

直方图不显示数据系列的历史。它确实"binning"显示数据出现的次数。

一个问题可能是你写的参数的顺序 y=binopdf(n,x,p); 但 matlab 正在寻找 Y = binopdf(X,N,P) 注意 nx 被切换。

要获得显示完整进程的 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 和 1 次 .81

仅供参考,如果您想更改图形的 y 轴,请使用类似这样的东西

y_min=0
y_max=1
plot(x,y)
ylim([y_min, y_max])