Count the number of same elements in an array
    126 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    luca
 el 10 de Sept. de 2019
  
    
    
    
    
    Editada: Vitek Stepien
      
 el 14 de Ag. de 2021
            Hi given a vector 
V = [ 1 2 4 3 4 2 3 5 6 4 5 6 8 4 2 3 5 7 8 5 3 1 3 5 7 8 9 5 3 2 4 6 7 8]
I would like to count how many times the value 1,2,3,4,5,6,7,8,9 are repeated inside V, and obtain a vector that report this values:
C = [2 4 6 5 6 3 3 4 1]
where 1 is repeated 2 times, 2 is repetead 4 times, 3 is repeated 6 times and so on..
0 comentarios
Respuesta aceptada
  madhan ravi
      
      
 el 10 de Sept. de 2019
        
      Editada: madhan ravi
      
      
 el 10 de Sept. de 2019
  
      [~,~,ix] = unique(V);
C = accumarray(ix,1).'
Más respuestas (3)
  Stephen23
      
      
 el 10 de Sept. de 2019
        
      Editada: Stephen23
      
      
 el 10 de Sept. de 2019
  
      Your 1st example:
>> V = [ 1 2 4 3 4 2 3 5 6 4 5 6 8 4 2 3 5 7 8 5 3 1 3 5 7 8 9 5 3 2 4 6 7 8];
>> C = hist(V,1:max(V))
C =
  2  4  6  5  6  3  3  4  1
Your 2nd example:
>> V = [2 2 3 4 5 6 7 7 8 8 9 9]
>> C = hist(V,1:max(V))
C =
  0  2  1  1  1  1  2  2  2
  Vitek Stepien
      
 el 14 de Ag. de 2021
        
      Editada: Vitek Stepien
      
 el 14 de Ag. de 2021
  
      I found this function extremely useful, and doing exactly what you need:
V = [ 1 2 4 3 4 2 3 5 6 4 5 6 8 4 2 3 5 7 8 5 3 1 3 5 7 8 9 5 3 2 4 6 7 8];
[gc,grps] = groupcounts(V'); % <- need column vector here
grps'
gc'
Where grps lists the unique values in order, and gc provides the count of each unique values found in v. 
This is very similar to madhan ravi's accumarray, but even simpler.
P.S. I turned gc and grps into row vectors only for compactness of the post, it's purely aesthetical. However groupcounts requires a column vector, not a row.
0 comentarios
  Hugo Diaz
 el 28 de Nov. de 2020
        I use sparse(V(:),V(:), 1) for large arrays with missing indices. 
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




