ismember for cell arrays of different sizes

10 views (last 30 days)
I have a cell array with different sized cells of class double as follows:
bin_list = {[1], [1,7], [1,7], [1,7,9], [2,8], [3], [1,7]}';
I would like to count all the cells that have a 1 in them (eventually nest it within a for loop such that I count all the cells that have a 2,3, and n in them)

Accepted Answer

Davide Masiello
Davide Masiello on 6 Oct 2022
bin_list = {[1], [1,7], [1,7], [1,7,9], [2,8], [3], [1,7]}'
bin_list = 7×1 cell array
{[ 1]} {[ 1 7]} {[ 1 7]} {[1 7 9]} {[ 2 8]} {[ 3]} {[ 1 7]}
cellfun(@(x)ismember(1,x),bin_list)
ans = 7×1 logical array
1 1 1 1 0 0 1

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 6 Oct 2022
bin_list = {[1], [1,7], [1,7], [1,7,9], [2,8], [3], [1,7]}';
Const=1;
f=@(x) ismember(Const,x);
cellfun(f,bin_list)
ans = 7×1 logical array
1 1 1 1 0 0 1

Categories

Find more on Data Types 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!