Clear Filters
Clear Filters

how to count more than 1 element in cell array?

2 views (last 30 days)
Hello
I have cell array data example. D = {[1 2 5];[1 2 4 6];[2 4 5 6];[2 5];[1 4 6]}
the answer is 3
I want to know how to calculate a frequency of [2 5] which occurs in D by not using loop.
thank you
  1 Comment
Walter Roberson
Walter Roberson on 22 Jun 2012
[2 5] must be the only element? 2 and 5 must be adjacent? In that order or order is irrelevant?
Some of these possibilities I don't think can be done without at least an implicit loop using one of the *fun() functions.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 22 Jun 2012
Can so?
out = sum(cellfun(@(x)all(ismember([2 5],x)),D));

More Answers (2)

Ryan G
Ryan G on 22 Jun 2012
I think this may be close to what you are looking for.
freqElements = sum(cellfun(@(x) mean(ismember([2 5],x)) == 1,D));

alice
alice on 22 Jun 2012
Oh thank you so much
Both answers are work!

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!