查找除给定索引之外的数组中的元素

时间:2016-02-05 18:41:40

标签: matlab

我想在数组中找到不是给定索引元素的元素。例如,给定数组A = [1 5 7 8]和索引ind = [2 3],操作应返回元素[1 8]

1 个答案:

答案 0 :(得分:2)

使用直接索引向量:

B = A(setdiff(1:numel(A),ind));

或扔掉不需要的元素:

B = A;
B(ind) = [];

或使用逻辑索引:

% either
B = A(~any(bsxfun(@eq,ind(:),1:numel(A)),1));
% or
B = A(all(bsxfun(@ne,ind(:),1:numel(A)),1));