此单元格是否包含这些数字MATLAB

问题描述 投票:1回答:1

我有一个4x1的单元格,

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

我如何找出哪些单元格包含{2,3}

即上面的示例为[1,1,1,1]

所有单元格都包含某种形式的{2,3}。

提前感谢

matlab cell-array
1个回答
5
投票

如果您只对数字感兴趣,将它们存储在单元格中很奇怪。要使用类似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 )
© www.soinside.com 2019 - 2024. All rights reserved.