Matlab 统计数组中各数字(元素)出现的次数 您所在的位置:网站首页 字符串中每个字符出现次数 Matlab 统计数组中各数字(元素)出现的次数

Matlab 统计数组中各数字(元素)出现的次数

2024-03-10 07:03| 来源: 网络整理| 查看: 265

如何统计一个数组中各数字(元素)出现的频数、频率和累积频率?这里以案例形式做一个总结。第一种方法:调用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% 

复制代码

第二种方法:自编效率更高的函数HistRate(代码如下),调用HistRate函数统计一个数组中各数字(元素)出现的频数、频率和累积频率。函数HistRate的代码:  

MargieSmiley,如果您要查看本帖隐藏内容请回复

【例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];>> HistRate(x)         取值         频数       频率      累积频率           0            1       1.96%       1.96%           1            4       7.84%       9.80%           2           14      27.45%      37.25%           3           10      19.61%      56.86%           4           10      19.61%      76.47%           5            6      11.76%      88.24%           6            4       7.84%      96.08%           7            1       1.96%      98.04%           8            1       1.96%     100.00% 

复制代码

【例2】统计字符串中各字符出现的频数、频率和累积频率。  

 >> x = ['If x is a numeric array, TABLE is a numeric matrix.']';>> HistRate(x) ans =      '取值'    '频数'    '频率(%)'    '累积频率(%)'    'I'       [   1]    [ 2.4390]    [     2.4390]    'f'       [   1]    [ 2.4390]    [     4.8780]    'x'       [   2]    [ 4.8780]    [     9.7561]    'i'       [   5]    [12.1951]    [    21.9512]    's'       [   2]    [ 4.8780]    [    26.8293]    'a'       [   5]    [12.1951]    [    39.0244]    'n'       [   2]    [ 4.8780]    [    43.9024]    'u'       [   2]    [ 4.8780]    [    48.7805]    'm'       [   3]    [ 7.3171]    [    56.0976]    'e'       [   2]    [ 4.8780]    [    60.9756]    'r'       [   5]    [12.1951]    [    73.1707]    'c'       [   2]    [ 4.8780]    [    78.0488]    'y'       [   1]    [ 2.4390]    [    80.4878]    ','       [   1]    [ 2.4390]    [    82.9268]    'T'       [   1]    [ 2.4390]    [    85.3659]    'A'       [   1]    [ 2.4390]    [    87.8049]    'B'       [   1]    [ 2.4390]    [    90.2439]    'L'       [   1]    [ 2.4390]    [    92.6829]    'E'       [   1]    [ 2.4390]    [    95.1220]    't'       [   1]    [ 2.4390]    [    97.5610]    '.'       [   1]    [ 2.4390]    [        100] 

复制代码

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

 >> x = ['崔家峰';'孙乃喆';'安立群';'王洪武';'王玉杰';'高纯静';'崔家峰';        '叶鹏';'关泽满';'谢中华';'王宏志';'孙乃喆';'崔家峰';'谢中华'];>> HistRate(x) ans =      '取值'      '频数'    '频率(%)'    '累积频率(%)'    '崔家峰'    [   3]    [21.4286]    [    21.4286]    '孙乃喆'    [   2]    [14.2857]    [    35.7143]    '安立群'    [   1]    [ 7.1429]    [    42.8571]    '王洪武'    [   1]    [ 7.1429]    [         50]    '王玉杰'    [   1]    [ 7.1429]    [    57.1429]    '高纯静'    [   1]    [ 7.1429]    [    64.2857]    '叶鹏'     [   1]    [ 7.1429]    [    71.4286]    '关泽满'    [   1]    [ 7.1429]    [    78.5714]    '谢中华'    [   2]    [14.2857]    [    92.8571]    '王宏志'    [   1]    [ 7.1429]    [        100] 

复制代码

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

 >> x = {'崔家峰';'孙乃喆';'安立群';'王洪武';'王玉杰';'高纯静';'崔家峰';'叶鹏';'关泽满';'谢中华';'王宏志';'孙乃喆';'崔家峰';'谢中华'};>> HistRate(x) ans =      '取值'      '频数'    '频率(%)'    '累积频率(%)'    '崔家峰'    [   3]    [21.4286]    [    21.4286]    '孙乃喆'    [   2]    [14.2857]    [    35.7143]    '安立群'    [   1]    [ 7.1429]    [    42.8571]    '王洪武'    [   1]    [ 7.1429]    [         50]    '王玉杰'    [   1]    [ 7.1429]    [    57.1429]    '高纯静'    [   1]    [ 7.1429]    [    64.2857]    '叶鹏'      [   1]    [ 7.1429]    [    71.4286]    '关泽满'    [   1]    [ 7.1429]    [    78.5714]    '谢中华'    [   2]    [14.2857]    [    92.8571]    '王宏志'    [   1]    [ 7.1429]    [        100] 

复制代码

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

 >> load fisheriris>> species = nominal(species);>> HistRate(species) ans =      '取值'          '频数'    '频率(%)'    '累积频率(%)'    'setosa'        [  50]    [33.3333]    [    33.3333]    'versicolor'    [  50]    [33.3333]    [    66.6667]    'virginica'     [  50]    [33.3333]    [        100] 

复制代码

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有