如何计算MATLAB中列值的出现次数

时间:2011-03-06 23:49:07

标签: matlab

假设我有一个包含2个值的列 01,我如何计算01以及百分比的出现次数。

如果矩阵的大小为100,而我有45 1's,我会得到45%

2 个答案:

答案 0 :(得分:3)

count_unique功能可让您查找唯一元素列表及其出现的次数。

然后你只需要将出现次数除以向量的总长度。

希望有所帮助。此函数可以推广到只有两类元素的情况。

答案 1 :(得分:1)

如果你只有0和1,你可以写

percentOnes = nnz(A(:,i))/length(A(:,i)) * 100

如果要一次对多个列执行计算,请编写

percentOnes = sum(A,1)/size(A,1) * 100

修改

如果您有-1和+1,并且您想知道获得特定值(例如1)的频率(百分比),您可以先转换矩阵

A = yourMatrix == 1;

这样A只包含0和1,然后上面的方法就可以了。