Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 查找数组中不在其他数组中的元素_Matlab - Fatal编程技术网

Matlab 查找数组中不在其他数组中的元素

Matlab 查找数组中不在其他数组中的元素,matlab,Matlab,我有两个数组,比如A=[1;2;4;7;10;20]; B=[1;4;8] 现在我想找到A的元素,它们不在B.e中;[2;7;10;20]. 我只需要它们的索引,即A中元素[2;7;10;20]的索引。如何在matlab中实现这一点。我可以使用循环和所有。但这不是我想要的。我想要一个优雅的解决方案。建议?如果您想要A中不在B中的元素,可以使用 如果您想要元素的索引而不是它们的值,您可以使用并否定结果。您可以使用ismember函数来实现这一点 A = [1;2;4;7;10;20]; B =

我有两个数组,比如A=[1;2;4;7;10;20]; B=[1;4;8]


现在我想找到A的元素,它们不在B.e中;[2;7;10;20]. 我只需要它们的索引,即A中元素[2;7;10;20]的索引。如何在matlab中实现这一点。我可以使用循环和所有。但这不是我想要的。我想要一个优雅的解决方案。建议?

如果您想要A中不在B中的元素,可以使用


如果您想要元素的索引而不是它们的值,您可以使用并否定结果。

您可以使用
ismember
函数来实现这一点

A = [1;2;4;7;10;20]; 
B = [1;4;8];
ismem = ismember(A,B);
我会给你

[1 0 1 0 0 0]'
[2 7 10 20]'
如果确实需要索引,可以使用
find

find(ismem==0)
作为提醒,您可以始终使用逻辑索引,如下所示:

A(~ismem)
我会给你

[1 0 1 0 0 0]'
[2 7 10 20]'

签出
setxor

[C,ia,ib]=setxor(A,B)

是“数学作业”页面。对于A中而不是B中的索引,您需要
ia

[TF,LOC]=ismember(A,S)对于数组A,返回一个与A大小相同的数组,其中A的元素在集合S中,否则返回0。匹配的索引在LOC中提供,LOC中包含S中每个元素的最高绝对索引(S),如果没有此类索引,则为0。可能的