归一化直方图的值总和不等于 1

问题描述

我正在尝试使用范围从 (0 - 0.2) 的数据绘制直方图。当不包括 bin 限制时,标准化工作正常。

但是当如代码所示包含 bin 限制时,总和不再等于 1。

x=data1.data(:,2);
h=histogram(x,50,'BinLimits',[0.0234375 0.2],'FaceColor','none','EdgeColor','green','normalization','probability');
S=sum(h.Values)

有没有办法在指定的 bin 范围内进行归一化?

解决方法

这是预期的行为;根据文档,当使用“概率”归一化方案时,“条形高度的总和小于或等于 1。”

要解决您的问题,您可以将 histogram() 直接应用于所需的数据子集:

x=data1.data(:,2);
x=x(x>=0.0234375 & x<=0.2);
h=histogram(x,50,'FaceColor','none','EdgeColor','green','Normalization','probability');
S=sum(h.Values)