频率分布直方图函数matlab,直方图与概率密度函数叠加—基于matlab

统计数据的时候,经常需要把数据的直方图和概率密度函数叠加。用matlab编程完成这项功能的时候,有一些技巧需要掌握。下面从理论上说明编程的技巧,并举例。

对于一个样本容量为n的数据集,假定在做直方图时,分割的小区间的长度是 d。于是在第i个区间上的频率可以表示为:

4bc6d2cac3b1d85f8d796e0c54a1abed.png

另一方面,如果密度函数为f(x),则此区间上的概率可以用密度函数表示:

74d414b1195f68653bc9c3a49c9c9c7d.png

我们知道,概率可以用频率近似表示,于是有:

90bbd90e981be4c12ef011bfda3df11b.png

7dfdf1c660fdccce0113bb7bde3529c5.png

也就是说,频率要先除以被分割后的小区间的长度,然后做出的直方图才能与密度函数图像叠加。

例:做出下列数据的直方图,并叠加正态分布密度函数图像:

data=[459  362  624  542  509  584  433  748   815  505 ...   612  452  434  982  640  742  565  706   593  680 ...   926  653  164  487  734  608  428  1153  593  844 ...   527  552  513  781  474  388  824  538   862  659 ...   775  859  755  49   697  515  628  954   771  609 ...   402  960  885  610  292  837  473  677   358  638 ...   699  634  555  570  84   416  606  1062  484  120 ...   447  654  564  339  280  246  687  539   790  581 ...   621  724  531  512  577  496  468  499   544  645 ...   764  558  378  765  666  763  217  715   310  851];

u=mean(data);v=std(data);%计算期望方差h=max(data)-min(data); %计算极差%%%%%%%%%%%%%%%%%%%%%%%%%%%%以下做频率图%%%%%%%d=h/10; %将数据范围等分成十个区间,计算小区间的长度[n,x]=hist(data,10);%计算每个小区间内的频数及区间中点值f=n/length(data);%计算频率f1=f/d;%频率除以分割区间的长度bar(x,f1)%画出频率的柱状图hold on %%%%%%%%%%%%%%%%%%%%%%%%%%以下做密度函数图像%%%%%x1=min(data):0.1:max(data);y=normpdf(x1,u,v);plot(x1,y,'r','LineWidth',5)%叠加正态分布密度函数

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值