我有两个数组让我们说A = [1; 2; 4; 7; 10; 20]; B = [1; 4; 8];
现在我想找到A的元素,它们不在B中; [2; 7; 10; 20].我只需要它们的索引是A中元素[2; 7; 10; 20]的索引.我怎样才能在matlab中实现它.我可以使用循环和所有.但这不是我想要的.我想要一个优雅的解决方案 建议?
你可以使用这个ismember
功能.
A = [1;2;4;7;10;20];
B = [1;4;8];
ismem = ismember(A,B);
Run Code Online (Sandbox Code Playgroud)
会给你
[1 0 1 0 0 0]'
Run Code Online (Sandbox Code Playgroud)
如果你真的需要索引,你可以使用find
.
find(ismem==0)
Run Code Online (Sandbox Code Playgroud)
作为提醒,您可以始终使用逻辑索引,如下所示:
A(~ismem)
Run Code Online (Sandbox Code Playgroud)
会给你
[2 7 10 20]'
Run Code Online (Sandbox Code Playgroud)