ismember for cell arrays of different sizes

7 次查看(过去 30 天)
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)

采纳的回答

Davide Masiello
Davide Masiello 2022-10-6
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

更多回答(1 个)

Fangjun Jiang
Fangjun Jiang 2022-10-6
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

类别

Help CenterFile Exchange 中查找有关 Data Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by