How can I count the frequency of each element of one vector?
    6 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi,I have this code which gives the number of occurrences of each element of w vector in vector y
a= [7     4     9     6     4    10     9     6     7     6]
y=zeros(size(a));
for i=1:length(a)
    y(i)=sum(a==a(i));
end
y = y;
end
 y=[2     2     2     3     2     1     2     3     2     3]
but this result is not enough because I need to know the index along with the number of repartitions.
the result should look like:
element no of repartitions  position1  position2 position3  
  7           2                1           9        0
  4           2                2           5        0
  9           2                3           7        0
  6           3                4           8        10
  10          1                0           0        0
0 Commenti
Risposte (1)
  Azzi Abdelmalek
      
      
 il 12 Apr 2014
        
      Modificato: Azzi Abdelmalek
      
      
 il 12 Apr 2014
  
      a= [7 4 9 6 4 10 9 6 7 6]
[b,idx]=unique(a)
[~,jdx]=sort(idx);
[ii,jj]=histc(a,b)
d=accumarray(jj',(1:numel(jj))',[],@(x) {[x' zeros(1,max(ii)-numel(x))]})
out=[b' ii' cell2mat(d)]
out=out(jdx,:)
2 Commenti
Vedere anche
Categorie
				Scopri di più su Logical in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

