matlab中统计数组中各数字(元素)出现的次数
1. tabulate
調用MATLAB自帶的函數tabulate統計一個數組中各數字(元素)出現的頻數、頻率
【例1】統計數值型數組中各元素出現的頻數、頻率。
>> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 26 0 4 7 2 5 8 3 1 3 2 5 3 6 2 3 54 3 1 4 2 2 2 3 1 5 2 6 3 4 1 2 5]; >> tabulate(x(:))Value Count Percent0 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 PercentI 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 Percentsetosa 50 33.33%versicolor 50 33.33%virginica 50 33.33%2. HistRate
自編效率更高的函數HistRate(代碼如下),調用HistRate函數統計一個數組中各數字(元素)出現的頻數、頻率和累積頻率。
函數HistRate的代碼:
游客,如果您要查看本帖隱藏內容請回復
【例1】統計數值型數組中各元素出現的頻數、頻率和累積頻率。
>> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 26 0 4 7 2 5 8 3 1 3 2 5 3 6 2 3 54 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]3. 統計矩陣元素的出現次數
方法1:find
例如統計矩陣flag里面的0次數
length(find(flag==0))以此類推 統計其他的元素次數
方法2:hist
統計flag里面所有的元素次數
a=hist(flag, unique(flag));方法3:diff
統計flag里面所有的元素次數
x=flag(:) x=sort(x); % 數據排序 d=diff([x;max(x)+1]); % 通過同一數據為0 找標識 count = diff(find([1;d])) ; % 找到d里面的非0的位置, y =[x(find(d)) count]; % 打印結果y的第一列是對應的元素,第二列是對應元素的出現次數
原文鏈接:https://www.ilovematlab.cn/thread-67367-1-1.html
https://blog.csdn.net/qingfengxd1/article/details/105447213
總結
以上是生活随笔為你收集整理的matlab中统计数组中各数字(元素)出现的次数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 步多多怎么提现
- 下一篇: 小说软件app哪个好(最新热门小说)