2

たとえば、私は持っていA=[11 24 33 47 52 67]て、インデックス行列を持っているI = [2 3]ので、Iで指定されたインデックス以外のインデックスから A の要素を持ちたいと思ってい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 に答える