How can I count the frequency of each element of one vector?

2 visualizaciones (últimos 30 días)
yousef Yousef
yousef Yousef el 12 de Abr. de 2014
Comentada: Azzi Abdelmalek el 13 de Abr. de 2014
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

Respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 12 de Abr. de 2014
Editada: Azzi Abdelmalek el 12 de Abr. de 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 comentarios
yousef Yousef
yousef Yousef el 12 de Abr. de 2014
Thanks but its not working .may you miss something

Iniciar sesión para comentar.

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by