【发布时间】:2019-10-01 11:03:35
【问题描述】:
我有一个 4x1 的单元格,
{{1,2,3};{2,3};{1,2,3};{2,3}}
我怎样才能知道,哪些单元格包含{2,3}
即[1,1,1,1] 上面的例子。
所有单元格都包含某种形式的 {2,3}。
提前致谢
【问题讨论】:
标签: matlab cell-array
我有一个 4x1 的单元格,
{{1,2,3};{2,3};{1,2,3};{2,3}}
我怎样才能知道,哪些单元格包含{2,3}
即[1,1,1,1] 上面的例子。
所有单元格都包含某种形式的 {2,3}。
提前致谢
【问题讨论】:
标签: matlab cell-array
如果您只对数字感兴趣,将它们存储在单元格中会很奇怪...要使用像 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 )
【讨论】: