Matlab tabulate統計數字出現的次數,如果陣列中出現0

qq_41615583發表於2018-12-17

tabulate使用時候,如果陣列中有0的話,間隔出現兩個數中間的數字就不會被統計了:
如A=[1 8 3 2 1 2 5 1];
>>tabulate(A( : ));
結果:Value Count Percent
1 3 37.50%
2 2 25.00%
3 1 12.50%
4 0 0.00%
5 1 12.50%
6 0 0.00%
7 0 0.00%
8 1 12.50%
其中5和8在A中,但是6 7不在仍然可以統計出來為0;

但是,
將A中有0:A=[1 8 3 0 2 1 2 5 1 0 ];
>>tabulate(A( : ));
結果:Value Count Percent
0 2 20.00%
1 3 30.00%
2 2 20.00%
3 1 10.00%
5 1 10.00%
8 1 10.00%
得到,5 8 之間的數沒有了。有的專案需要統計出來沒出現的6 7為0。
方法由評論的一位好心人提供:就是有0時候將各數字加1,統計完成後,各數字再減一,多謝!

歡迎大家提供更多思路!!!!!!!!!!!

相關文章