Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
您如何将直方图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 ,
回答: 这是归一化概率密度函数的非常不寻常的方式。我假设您要标准化,以使曲线下的面积为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 更多&回答... |
![]() |
![]() |