2012-01-26 13 views
1

forループで次のコマンドを使用してゼロと1を含むベクトルを作成しました。ベクトル内で繰り返し回数をカウントする

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

これは特定の段階で大きな問題の一部であるため、各列に存在する1の数を数える必要があります。

私は非常に乱雑で時間がかかりすぎるforループを使用してカウントを検索しようとしました。私はhistcは、このために使用することができることを見出したが、私はエラー

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

がこのまたは私はここで何かをしないのですが行うには良い方法はあり得る ?

答えて

3

あなたは0と1を含むマトリックスGを持っている、とあなたが各列にどのように多くのものを知りたい場合は、あなたが必要とするすべてのSUMです:

nZeroes = sum(G); 

これはあなたの合計を含むベクトルを与えます列ごとにGになります。

+0

@thanks gnovice私はすべての反復の後にGを追加しているので、上記の答えをわずかに変更した和を使っています(G(:、i) – bhavs

+1

@BhavyaPH:Inその場合、関数[NNZ](http://www.mathworks.com/help/techdoc/ref/nnz.html)を使用することもできます。 – gnovice

関連する問題