How to find same elements in a cell array?
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Alessandro Cristini
il 14 Lug 2015
Modificato: Alessandro Cristini
il 14 Lug 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 Commenti
Azzi Abdelmalek
il 14 Lug 2015
You mean [1,2,4,5] and [1,4,2,5], and their repetitions (3 and 2, respectively)
Risposta accettata
Azzi Abdelmalek
il 14 Lug 2015
Modificato: Azzi Abdelmalek
il 14 Lug 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 Commento
Più risposte (1)
Andrei Bobrov
il 14 Lug 2015
Modificato: Andrei Bobrov
il 14 Lug 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 Commento
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices 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!