21 Mayıs 2010, Cuma
Nasıl bir matris içinde belirli bir değeri öğe sayısını sayabilir miyim?
Herkes sayısını saymak için nasıl bir değeri bir matris içinde görünüyor mu?
Örneğin, ben bir 1500 x 1 matris M
(vektör) mağazalar değerleri hafta içi (1 - 7), nasıl saydım kaç pazar (1), Pazartesi(2), ... , Cumartesi(7) saklanır M
?
CEVAP
21 Mayıs 2010, Cuma
İşte benzersiz öğeleri saymak için aklıma gelen tüm yolları listesi:
M = randi([1 7], [1500 1]);
Seçenek 1: getirebilir
t = tabulate(M);
counts1 = t(t(:,2)~=0, 2);
Seçenek 2: geçmişi/histc
counts2_1 = hist( M, numel(unique(M)) );
counts2_2 = histc( M, unique(M) );
Seçenek 3: accumarray
counts3 = accumarray(M, ones(size(M)), [], @sum);
%# or simply: accumarray(M, 1);
Seçenek 4: sıralama/diff
[MM idx] = unique( sort(M) );
counts4 = diff([0;idx]);
Seçenek 5: arrayfun
counts5 = arrayfun( @(x)sum(M==x), unique(M) );
Seçenek 6: bsxfun
counts6 = sum( bsxfun(@eq, M, unique(M)') )';
Seçenek 7: seyrek
counts7 = full(sparse(M,1,1));
Bunu Paylaş:
Nasıl bir WordPress kullanmak içinde b...
Nasıl Windows WPF uygulama içinde beli...
Nasıl Python belirli bir pikselin RGB ...
Nasıl bir proje içinde tek bir dosya i...
Nasıl bir dizi belirli bir değeri vars...