您的位置:首页 > 编程语言 > MATLAB

matlab中用于统计矩阵数据频率,出现次数的函数

2012-06-28 19:35 585 查看
原帖请看此处:http://www.ilovematlab.cn/thread-67367-1-1.html

第一种方法:调用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%

      i        5     12.20%

      s        2      4.88%

      a        5     12.20%

      n        2      4.88%

      u        2      4.88%

      m        3      7.32%

      e        2      4.88%

      r        5     12.20%

      c        2      4.88%

      y        1      2.44%

      ,        1      2.44%

      T        1      2.44%

      A        1      2.44%

      B        1      2.44%

      L        1      2.44%

      E        1      2.44%

      t        1      2.44%

      .        1      2.44%

【例3】统计字符型数组中各行元素出现的频数、频率。

>>
x = ['崔家峰';'孙乃喆';'安立群';'王洪武';'王玉杰';'高纯静';'崔家峰';

        '叶 鹏';'关泽满';'谢中华';'王宏志';'孙乃喆';'崔家峰';'谢中华'];

>> tabulate(x)

  Value    Count   Percent

    崔家峰        3     21.43%

    孙乃喆        2     14.29%

    安立群        1      7.14%

    王洪武        1      7.14%

    王玉杰        1      7.14%

    高纯静        1      7.14%

    叶 鹏        1      7.14%

    关泽满        1      7.14%

    谢中华        2     14.29%

    王宏志        1      7.14%

【例4】统计字符串元胞数组中各字符串出现的频数、频率。

 

>> x = {'崔家峰';'孙乃喆';'安立群';'王洪武';'王玉杰';'高纯静';'崔家峰';

'叶鹏';'关泽满';'谢中华';'王宏志';'孙乃喆';'崔家峰';'谢中华'};

>> tabulate(x)

  Value    Count   Percent

    崔家峰        3     21.43%

    孙乃喆        2     14.29%

    安立群        1      7.14%

    王洪武        1      7.14%

    王玉杰        1      7.14%

    高纯静        1      7.14%

     叶鹏        1      7.14%

    关泽满        1      7.14%

    谢中华        2     14.29%

    王宏志        1      7.14%

【例5】统计名义尺度(如性别,职业,产品型号等)数组中各元素出现的频数、频率。

 

>> load fisheriris

>> species = nominal(species);

>> tabulate(species)

       Value    Count   Percent

      setosa       50     33.33%

  versicolor       50     33.33%

   virginica       50     33.33%

另外,可以使用hist来统计vector中各个变量出现的次数

hist应该是可以的,你试试
比如说
x=1:10;
>> y=1:10;
>> [m,n]=hist(y,x)
m =
     1     1     1     1     1     1     1     1     1     1
n =
     1     2     3     4     5     6     7     8     9    10
m是对应的出现的次数,n是对应的量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab vector table 产品 c
相关文章推荐