Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
如何对直方图进行归一化,以使概率密度函数下的面积等于1?
回答: 我对此的回答与您对先前问题的回答相同。对于概率密度函数, 整个空间的积分为1 。除以总和不会得到正确的密度。为了获得正确的密度,必须除以面积。为了说明我的观点,请尝试以下示例。 [f, x] = hist(randn(10000, 1), 50); % Create histogram from a normal distribution. g = 1 / sqrt(2 * pi) * exp(-0.5 * x .^ 2); % pdf of the normal distribution % METHOD 1: DIVIDE BY SUM figure(1) bar(x, f / sum(f)); hold on plot(x, g, 'r'); hold off % METHOD 2: DIVIDE BY AREA figure(2) bar(x, f / trapz(x, f)); hold on plot(x, g, 'r'); hold off 您可以自己查看哪种方法与正确答案(红色曲线)相符。 ![]() 标准化直方图的另一种方法(比方法2更直接)是除以sum(f * dx) ,它表示概率密度函数的积分,即 % METHOD 3: DIVIDE BY AREA USING sum() figure(3) dx = diff(x(1:2)) bar(x, f / sum(f * dx)); hold on plot(x, g, 'r'); hold off 更多&回答... |
![]() |
![]() |