频率分布直⽅图函数matlab,直⽅图与概率密度函数叠加—基
于matlab
统计数据的时候,经常需要把数据的直⽅图和概率密度函数叠加。⽤matlab编程完成这项功能的时候,有⼀些技巧需要掌握。下⾯从理论上说明编程的技巧,并举例。
对于⼀个样本容量为n的数据集,假定在做直⽅图时,分割的⼩区间的长度是 d。于是在第i个区间上的频率可以表⽰为:
另⼀⽅⾯,如果密度函数为f(x),则此区间上的概率可以⽤密度函数表⽰:
我们知道,概率可以⽤频率近似表⽰,于是有:
也就是说,频率要先除以被分割后的⼩区间的长度,然后做出的直⽅图才能与密度函数图像叠加。
例:做出下列数据的直⽅图,并叠加正态分布密度函数图像:
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)
matlab直方图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)%叠加正态分布密度函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论