创建归一化直方图并在 Matlab 上使用伽玛分布对其进行拟合

发布于 2024-11-16 13:17:23 字数 182 浏览 2 评论 0原文

我知道我可以通过这种方式拟合具有伽玛分布的直方图:

histfit(data,bins-number,'gamma');figure(gcf);

我也知道我可以标准化带有 histnorm 的直方图。但是如何用直方图创建归一化伽玛分布呢?

有什么想法或建议吗?感谢您的帮助!

I know that I can fit a histogram with a gamma distribution in this way:

histfit(data,bins-number,'gamma');figure(gcf);

And I know too that I can normalize a histogram with histnorm. But how can I create a normalized gamma distribution with its histogram?

Any idea or suggestion? Thanks for any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜司空 2024-11-23 13:17:23

编辑:

为了回应 BruceWarrior 下面的评论,histfit 将为您标准化数据......只需将 x 替换为您的数据即可。如果您想知道如何自己标准化直方图,使其成为概率密度,查看我对这个问题的回答。请注意,接受的答案不会为您提供概率密度(即曲线下面积不会为 1)。


您可以使用 gamrnd 函数来为给定的形状参数a和尺度参数b生成具有伽玛分布的随机变量。然后,您可以对此调用 histfit将 Gamma 分布拟合到归一化直方图的数据。下面是一个示例:

x=gamrnd(1,2,1000,1);
histfit(x,50,'gamma')

a=1,b=2

在此处输入图像描述

a=2, b=2

在此处输入图像描述

EDIT:

In response to BruceWarrior's comment below, histfit will normalize the data for you... just replace x with your data. If you want to know how to normalize a histogram yourself such that it is a probability density, see my answer to that very question. Note that the accepted answer will not give you a probability density (i.e., the area under the curve will not be 1).


You can use the gamrnd function to generate random variables with a Gamma distribution for a given shape parameter a and scale parameter b. You can then call histfit on this data to fit the Gamma distribution to the normalized histogram. Here's an example:

x=gamrnd(1,2,1000,1);
histfit(x,50,'gamma')

a=1,b=2

enter image description here

a=2, b=2

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文