フィルターのクリア

read the size of cell array with the same element

2 ビュー (過去 30 日間)
xueqi
xueqi 2017 年 5 月 24 日
回答済み: dpb 2017 年 5 月 24 日
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
...

採用された回答

Guillaume
Guillaume 2017 年 5 月 24 日
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])))

その他の回答 (2 件)

the cyclist
the cyclist 2017 年 5 月 24 日
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 2017 年 5 月 24 日
[u,iu]=unique(c{:},'rows');
n=histc(iu,1:length(u));

カテゴリ

Help Center および File ExchangeHistorical Contests についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by