How to find repetition of each unique array in matrix?
    6 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Suppose I have a matrix a:
a = [100680
114678
114678
31678
31678
31678
31678
19505
19505
19505
63694
114354
114354
97157
122910
122910
92417
92417
76298];
I want to find the repetition of each unique array. For example:
100680  1
114678  2
31678  4
19505  3
63694  1
114354  2
97157  1
122910  2
92417  2
76298  1
0 Commenti
Risposta accettata
  Star Strider
      
      
 il 27 Nov 2014
        The easiest way is to use the hist function (with help from unique):
xbins = unique(a);
[counts,centres] = hist(a,xbins);
R = [centres counts']
produces:
R =
         19505           3
         31678           4
         63694           1
         76298           1
         92417           2
         97157           1
        100680           1
        114354           2
        114678           2
        122910           2
0 Commenti
Più risposte (1)
  Guillaume
      
      
 il 27 Nov 2014
        Use one of the histogram functions ( histc or histcounts) with unique to generate the bins. In R2014b, you're supposed to use histcounts as histc is being deprecated.
a = [100680 114678 114678 31678 31678 31678 31678 19505 19505 19505 63694 114354 114354 97157 122910 122910 92417 92417 76298]';
reps = [unique(a) histc(a, unique(a))] %with histc
reps = [unique(a) histcounts(a, [unique(a); Inf])'] %with histcounts
0 Commenti
Vedere anche
Categorie
				Scopri di più su Data Distribution Plots in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!