Содержит ли эта ячейка эти числа MATLAB - PullRequest
1 голос
/ 01 октября 2019

У меня есть ячейка 4x1,

{{1,2,3};{2,3};{1,2,3};{2,3}}

Как я могу узнать, какие ячейки содержат {2,3}

т.е. [1,1,1,1] для приведенного выше примера.

Все ячейки содержат {2,3} в той или иной форме.

Заранее спасибо

1 Ответ

5 голосов
/ 01 октября 2019

Если вас интересуют только цифры, странно хранить их в ячейках ... Чтобы использовать такую ​​функцию, как ismember, вам придется развернуть cell2mat. Тогда это дает ваш результат:

A = {{1,2,3};{2,3};{1,2,3};{2,3}};
tgt = [2,3];
cellfun( @(x) all( ismember( tgt, cell2mat(x) ) ), A )

Если вместо этого вы сохранили числа в числовых массивах, это будет более эффективным

A = {[1,2,3];[2,3];[1,2,3];[2,3]};
cellfun( @(x) all( ismember( tgt, x ) ), A )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...