我想在数组中找到不是给定索引元素的元素。例如,给定数组A = [1 5 7 8]
和索引ind = [2 3]
,操作应返回元素[1 8]
。
答案 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));