matlab中直方图,如何标准化在MATLAB中的直方图?

我的答案是与你的

earlier question的答案相同。对于概率密度函数,

the integral over the entire space is 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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值