matlab - 归一化直方图的值总和不等于 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)
推荐阅读
- groovy - Groovy String 数组排序使用浮点值
- dependency-injection - 如何将路径配置从另一个服务注入到 ServeStaticModule 中?
- lua - 解码 Roblox 后门
- tapestry - 是否可以使用带有区域的页面链接
- ruby-on-rails - 如何仅使用正则表达式接受双“”
- unity3d - Unity Copy Movement base off faces
- ruby-on-rails - Ruby-ReviewsController#index 中的 NoMethodError
- go - 无限循环变量:在无限循环中创建一个数组会浪费内存吗?
- python - Hinterland 的“排除正则表达式”不起作用 - 使用冒号总是会产生自动完成菜单
- android - kotlin 中的列表视图 setOnItemClickListener