Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 您如何将直方图归一化,以使每个bin的总和为1?

您如何将直方图A归一化,因此每个bin的总和为1

将直方图除以垃圾箱的宽度,如何绘制

我有这个

dist = rand(50) average = mean(dist, 1); [c,x] = hist(average, 15); normalized = c/sum(c); bar(x, normalized, 1) 在这种情况下, n = 50 ,
  • 获得均值和方差^ 2的值的公式是什么?我们写N(mean, (variance^2) / 50) ,但是如何?
  • 如何绘制均匀分布和正态分布?
直方图必须接近正态分布。



回答:

这是归一化概率密度函数的非常不寻常的方式。我假设您要标准化,以使曲线下的面积为1。在这种情况下,这就是您应该做的。

[c,x]=hist(average,15); normalized=c/trapz(x,c); bar(x,normalized) 无论哪种方式,要回答您的问题,都可以使用randn生成正态分布。现在,您将生成一个50x50均匀分布矩阵,并沿一维求和,以近似正态高斯。这是不必要的。要生成1000个点的正态分布,请使用randn(1000,1)如果要使用行向量,请对其进行转置或翻转数字。要生成均值mu和方差sigma2的高斯分布,并绘制其pdf,可以这样做(一个示例)

mu=2; sigma2=3; dist=sqrt(sigma2)*randn(1000,1)+mu; [c,x]=hist(dist,50); bar(x,c/trapz(x,c)) 尽管可以使用统计工具箱中的专用功能来完成这些操作,但这同样简单,简单,并且不需要其他工具箱。

编辑

我错过了您想知道如何生成均匀分布的部分。 rand ,默认情况下为您提供[0,1]上均匀分布的随机变量。要从[a, b]之间的均匀分布获得rv,请使用a+(ba)*rand



更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 20:46


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.