How to find same elements in a cell array?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Alessandro Cristini
el 14 de Jul. de 2015
Editada: Alessandro Cristini
el 14 de Jul. de 2015
Hello all,
I have the following question:
I need to find the same elements and how many times they are repeated in a cell array. The elements are vectors of integers (e.g, [1,3,4,5]). Then, I'd like to find the repeated sequences and the count of their repetitions.
For example, suppose that the cell array (C) is composed as follows:
[1,2,4,5] [1,4,2,5] [1,2,4,5] [4,1,5,2] [1,2,4,5] [1,4,2,5]
Is there any smart solution to get the sequences [1,2,4,5] and [1,4,2,5], and their repetitions (3 and 2, respectively)?
Thanks in advance,
Ale
2 comentarios
Azzi Abdelmalek
el 14 de Jul. de 2015
You mean [1,2,4,5] and [1,4,2,5], and their repetitions (3 and 2, respectively)
Respuesta aceptada
Azzi Abdelmalek
el 14 de Jul. de 2015
Editada: Azzi Abdelmalek
el 14 de Jul. de 2015
a={[1,2,4,5] [1,4,2,5] [1,2,4,5] [4,1,5,2] [1,2,4,5] [1,4,2,5]}
b=cell2mat(a')
[ii,jj,kk]=unique(b,'rows')
out=[ii accumarray(kk,1)]
The last column of out is the frequency
1 comentario
Más respuestas (1)
Andrei Bobrov
el 14 de Jul. de 2015
Editada: Andrei Bobrov
el 14 de Jul. de 2015
a = {[1,2,4,5] [1,4,2,5] [1,2,4,5] [4,1,5,2,1] [1,2,4,5] [1,4, 2,5]};
a = a(:);
[a1,b,c] = unique(cellfun(@char,a,'un',0));
lo = histc(c,1:max(c));
loo = lo(:) > 1;
out = [a(b(loo)), num2cell(lo(loo))];
1 comentario
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!