代码之家  ›  专栏  ›  技术社区  ›  User1551892

如何取回索引数组中未定义的数组元素?

  •  1
  • User1551892  · 技术社区  · 7 年前

    例如,我在Matlab中有以下数组:

    a = 11:20 ;
    

    我想从 a 以下索引元素中未定义的索引元素:

    b = [2,3,5];
    

    如果我执行以下get行:

    a(b)
    
    ans =
    
        12    13    15
    

    我正在寻找一种方法,它正好与上述相反,并且没有引入循环来获取元素 索引数组中不存在这些元素的索引 b 是的。

    2 回复  |  直到 7 年前
        1
  •  2
  •   Sardar Usama    7 年前

    setdiff 是你要找的功能。

    a(setdiff(1:end,b))
    
        2
  •  2
  •   Cris Luengo    7 年前

    另一种方法:

    >> a = 11:20;
    >> b = [2,3,5];
    >> c = a;
    >> c(b) = []
    c =
       11   14   16   17   18   19   20
    

    c(b)=[] 从中删除 c 由索引的元素 b 是的。