2

例如,我有A=[11 24 33 47 52 67]并且我有索引矩阵,I = [2 3]所以我想从索引中获取 A 的元素,而不是 I 给出的索引。所以我想要B = [11 47 52 67]. 我该怎么做并将 I 用作否定索引矩阵?

4

2 回答 2

4

去做

  idx = logical(ones(size(A)));   % // all indices here

或者,正如@Gunther Struyf 建议的那样,

  idx = true(size(A));

然后

  idx(I) = 0;                       % // excluding not desired indices    
  B = A(idx);                       % // selection

或者

 B = A;
 B(I) = [];
于 2012-12-17T17:18:34.887 回答
1

您还可以使用setdiff排除索引。这是给你的单线:

B = A(setdiff(1:numel(A), I))
于 2012-12-18T09:33:09.663 回答