read the size of cell array with the same element

1 visualizzazione (ultimi 30 giorni)
Hi I have a cell array looks like follows. How could I read the size of the cell array has the same element? In this case, I have 6 rows of 01.jpg so the first one is 6. I have 2 rows of 04.jpg so the second one is 2 and so forth. Thanks for your help!
%
01,jpg
01,jpg
01,jpg
01,jpg
01,jpg
01,jpg
04,jpg
04,jpg
05,jpg
05,jpg
...

Risposta accettata

Guillaume
Guillaume il 24 Mag 2017
Please use valid matlab syntax in your question, so it's not ambiguous. Assuming that your cell array is of the form:
c = {'01,jpg'
'01,jpg'
'01,jpg'
'01,jpg'
'01,jpg'
'01,jpg'
'04,jpg'
'04,jpg'
'05,jpg'
'05,jpg'}
This would work:
[~, ~, id] = unique(c, 'stable');
sequencelengths = diff(find(diff([-Inf; id; Inf])))

Più risposte (2)

the cyclist
the cyclist il 24 Mag 2017
Here's one way:
C = {
'01,jpg';
'01,jpg';
'01,jpg';
'01,jpg';
'01,jpg';
'01,jpg';
'04,jpg';
'04,jpg';
'05,jpg';
'05,jpg';
}
[~,~,k] = unique(C);
C_counts = histcounts(k,[unique(k); Inf])

dpb
dpb il 24 Mag 2017
[u,iu]=unique(c{:},'rows');
n=histc(iu,1:length(u));

Categorie

Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by