Подсчитайте, сколько раз число повторяется в векторе - PullRequest
1 голос
/ 26 января 2012

Я создал вектор, содержащий нули и единицы, используя следующую команду в цикле for.

G(:,i)=rand(K,1)<rand;

Так как это является частью более крупной проблемы на определенном этапе, мне нужно посчитать количество единиц, присутствующих в каждом столбце.

Я попытался найти счет, используя цикл for, который очень грязный и занимает слишком много времени.Я обнаружил, что для этого можно использовать historyc, но я получаю сообщение об ошибке

 histc(G(:,1),1)
 First input must be non-sparse numeric array.

Есть ли лучший способ сделать это или я что-то здесь упускаю?

1 Ответ

3 голосов
/ 26 января 2012

Если у вас есть матрица G, содержащая нули и единицы, и вы хотите знать, сколько единиц в каждом столбце, вам нужно всего лишь SUM :

nZeroes = sum(G);

Это даст вам вектор, содержащий общее количество для каждого столбца в G.

...