MATLAB,频率表,间隔大小为2

时间:2013-10-15 17:05:41

标签: matlab frequency-distribution

以下数据显示了20位发布商的每本书的错误数

2,5,2,8,2,3,5,6,1,0,2,0,1,5,0,0,4,5,1,2

现在我想使用MATLAB计算一个频率表,其中包含一个大小为2的类别和相对频率。

我可以通过命令tabulate(x)创建一个频率表,但是没有找到任何明确如何使用class of interval of size 2计算频率表的参考。

1 个答案:

答案 0 :(得分:3)

您可以使用histc,它允许指定直方图分档的边缘。它不会计算相对频率或打印表格,你必须自己这样做:

% error data
e = [2, 5, 2, 8, 2, 3, 5, 6, 1, 0, 2, 0, 1, 5, 0, 0, 4, 5, 1, 2];

% bin edges
be = 0 :2: ceil(max(e) / 2) * 2;

% absolute frequencies
af = histc(e, be);

% relative frequencies
rf = af / sum(af);

% print table
fprintf('  Value  Count  Percent\n')
fprintf('  %d-%d\t %d\t    %5.2f%%\n', [be; be + 1; af; rf * 100])

结果是:

  Value  Count  Percent
  0-1    7      35.00%
  2-3    6      30.00%
  4-5    5      25.00%
  6-7    1       5.00%
  8-9    1       5.00%