给定以下数组[123 1 123 2 122 1 123 124]
如何快速重新创建一个保持相同顺序但跳过值1
& 2
?
我很确定这很简单,但我在那里不知所措。
答案 0 :(得分:2)
使用ismember
,您可以保持原始顺序并继续重复:
skipVals = [1 2];
x = [123 1 123 2 122 1 123 124];
y = x(~ismember(x,skipVals))
y =
123 123 122 123 124
因为我知道Luis Mendo会建议这一点,我觉得自己很邪恶:
y = x(all(bsxfun(@ne,x,skipVals.'),1))
答案 1 :(得分:0)
这是另一种方法:
a=[123 1 123 2 122 1 123 124];
b=a;
b(b==1)=[];b(b==2)=[];