文档详情

matlab统计 频数、频率和累积频率.doc

发布:2017-12-18约8.61千字共7页下载文档
文本预览下载声明
matlab统计?频数、频率和累积频率 (2011-03-30 21:03:26) function result = HistRate(x) %?? HistRate(x),统计数组 x 中的元素出现的频数、频率和累积频率,以表格形式显示在屏幕上. %?? x可以是数值型数组、字符串、字符型数组、字符串元胞数组和名义尺度数组。 % %?? result = HistRate(x),返回矩阵或元胞数组result,它是多行4列的矩阵或元胞数组, %?? 四列分别对应取值、频数、频率、累积频率。当x是数值型数组时,result为矩阵;当x %?? 是字符串、字符型数组、字符串元胞数组和名义尺度数组时,result为元胞数组。 % %?? 用户还可参考tabulate函数,该函数比tabulate函数的效率高。 %?? %?? Copyright xiezhh,2010.3.8 if isnumeric(x) ??? x = x(:); ??? x = x(~isnan(x)); ??? xid = []; else ??? [x,xid] = grp2idx(x); ??? x = x(~isnan(x)); end x = sort(x(:));??? % 排序 m = length(x); x1 = diff(x);??? % 求差分 x1(end + 1) = 1; x1 = find(x1); CumFreq = x1/m; value = x(x1); x1 = [0; x1]; Freq1 = diff(x1); Freq2 = Freq1/m; if? nargout == 0 ??? if isempty(xid) ??????? fmt1 = s?? %8s?? %6s??? %6s\n; ??????? fmt2 = ? d???? ????? %6.2f%%???? %6.2f%%\n; ??????? fprintf(1, fmt1, 取值, 频数, 频率, 累积频率); ??????? fprintf(1, fmt2, [value; Freq1; 100*Freq2; 100*CumFreq]); ??? else ??????? head = {取值, 频数, 频率(%), 累积频率(%)}; ??????? [head;xid,num2cell([Freq1, 100*Freq2, 100*CumFreq])] ??? end else ??? if isempty(xid) ??????? result = [value Freq1 Freq2 CumFreq]; ??? else ??????? result = [xid,num2cell([Freq1, Freq2, CumFreq])]; ??? end end 如何统计一个数组中各数字(元素)出现的频数、频率和累积频率?这里以案例形式做一个总结。 第一种方法:调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数、频率 【例1】统计数值型数组中各元素出现的频数、频率。 x = [2??2??6??5??2??3??2??4??3??4??3??4??4??4??4??2??2 ? ?? ?6??0??4??7??2??5??8??3??1??3??2??5??3??6??2??3??5 ? ?? ?4??3??1??4??2??2??2??3??1??5??2??6??3??4??1??2??5]; tabulate(x(:)) ??Value? ? Count? ?Percent ? ?? ?0? ?? ???1? ?? ?1.96% ? ?? ?1? ?? ???4? ?? ?7.84% ? ?? ?2? ?? ? 14? ???27.45% ? ?? ?3? ?? ? 10? ???19.61% ? ?? ?4? ?? ? 10? ???19.61% ? ?? ?5? ?? ???6? ???11.76% ? ?? ?6? ?? ???4? ?? ?7.84% ? ?? ?7? ?? ???1? ?? ?1.96% ? ?? ?8? ?? ???1? ?? ?1.96% 复制代码 【例2】统计字符串中各字符出现的频数、频率。 x = [If x is a numeric array, TABLE is a numeric matrix.]; tabulate(x) ??Value? ? Count? ?Percent ? ?? ?I? ?? ???1? ?? ?2.44% ? ?? ?f? ?? ???1? ?? ?2.44% ? ?? ?x? ?? ???2? ?? ?4.88% ? ??
显示全部
相似文档