用MATLAB绘制经验累积频率曲线

用MATLAB绘制经验累积频率曲线

一、工程需求

在随机分布序列中,经常要统计某一经验频率对应的特征值,即大于该值数据在总序列中所点的比例。首先就必须对样本序列进行分级统计,求出每一级中样本个数,然后用经验频率公式计算累积频率,绘制经验累积频率曲线,在图上可查得任一频率对应的数值。

二、分级统计函数

1.histc

统计几个范围内的数据的分布,比如,统计a=[1 2 4 5 6 7 2 4 2 8]中几个范围中的数的个数,处在1~3(包括1和3,下同)之间的数的个数为4,处在4~6之间的数的个数为4,处在7~9之间的数的个数为2,以下是函数运行结果:

>> histc(a,[1,3,7,9])ans =4 4 2

2.hist

对于随机样本构成的向量Y,记。令,并把L分成N段,即;再把落在区间中的随机样本数记为;该区间的中心值记为。于是获得构成统计频数函数的两个统计向量 和。K和X向量的产生用以下方法:[K,X]=hist(Y,N) 在N(缺省值为10)个子区间上计算Y直方频数函数。如果直接绘制直方图,则>>hist(Y,N) %用直方图表现在N个子区间上算得的Y频数函数。

三、实例

1.直方图

例如,水文系列是一随机样本,天然河流上某一水文站一年中逐日平均水位是一典型的随机样本,一年共365个数(或366),为365×1的一维向量(或1×365),可用以下命令得统计直方图。>>hist(sw,15) %sw是数组名,15是指分15级

2.经验累积频率曲线

根据经验累积频率计算公式P=(m/(N+1))×100%,其中m为大于某一水位的累积次数,N为总次数,其中m值可由以下小程序求出,并直接求出P。>>[K,X]=hist(sw,15) %求出K和N>>y=0; %中间变量>>for i=15:-1:1;%从大到小累加>>y=y+K(i);>>P(i)=y.*100./(sum(K)+1); %计算经验累积频率>>end>>plot(P,X,'r') %绘图由以上累积频率曲线可求得某一频率随机变量的值,如求累积频率为95%的水位,即为工程中常用特征设计水位。比较手工方法提高10n倍。

浩方平台游戏联机教程2025年最新指南
微粒贷多久可以提前还款?