【问题标题】:Does this cell contain these numbers MATLAB这个单元格是否包含这些数字 MATLAB
【发布时间】: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


    【解决方案1】:

    如果您只对数字感兴趣,将它们存储在单元格中会很奇怪...要使用像 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 )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多