首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从MATLAB的hist()函数中规范化直方图?

如何从MATLAB的hist()函数中规范化直方图?
EN

Stack Overflow用户
提问于 2022-06-01 18:00:19
回答 2查看 135关注 0票数 0

我希望规范我的直方图,但由于某种原因,我的代码中出现了一些错误。

代码语言:javascript
复制
N = 1000;
mu = 5; stdev = 2;
x = mu+stdev*randn(N,1);
bin=mu-6*stdev:0.5:mu+6*stdev;
f=hist(x,bin);
plot(bin,f,'bo');

counts = f.Values;
sum_counts = sum(counts);
width = f.BinWidth;

area = sum_counts*width;

我可以绘制我的直方图,但我在规范化方面有一个错误。我知道直方图()函数支持规范化,但我试图避免这种情况。

代码语言:javascript
复制
Dot indexing is not supported for variables of this type.
     counts = f.Values;
EN

回答 2

Stack Overflow用户

发布于 2022-06-01 19:00:13

编写f=hist(x,bin);时,可以将直方图的值作为向量分配给f,就像您看到的那样。使曲线下的面积为1,则是f./sum(f) .

票数 0
EN

Stack Overflow用户

发布于 2022-06-02 00:40:20

请注意,不再建议使用hist,而是由histogram代替。

在创建直方图时,有作为名称-值对的规范化选项。例如,histogram(x,bin,'Normalization','pdf');histogram(x,bin,'Normalization','probability');可能就是您所要寻找的。在文档中可以找到所有的正常化选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72466206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档