我有两个数组可以说A = [1; 2; 4; 7; 10; 20]; B = [1; 4; 8];
现在我想找到A的元素,它们不在B中; [2; 7; 10; 20]。我只需要它们的索引是A中元素[2; 7; 10; 20]的索引。我怎样才能在matlab中实现它。我可以使用循环和所有。但这不是我想要的。我想要一个优雅的解决方案建议?
答案 0 :(得分:9)
您可以使用ismember
功能执行此操作。
A = [1;2;4;7;10;20];
B = [1;4;8];
ismem = ismember(A,B);
会给你
[1 0 1 0 0 0]'
如果您确实需要索引,可以使用find
。
find(ismem==0)
提醒一下,您可以像这样使用逻辑索引:
A(~ismem)
会给你
[2 7 10 20]'
答案 1 :(得分:4)
答案 2 :(得分:3)