ismember函数是什么意思?

2025-04-14 03:43:14
推荐回答(1个)
回答1:

ismember函数用来检测元素是否在集合中。

1.tf=ismember(a,b)

返回与a大小相同的逻辑数组,如果a中的元素属于b,那么A中的相应位置返回1(true),否则返回0(false)。

例:a=[1 2 3 4 5];

b=[1 3 5];

c1=ismember(a,b);  %判断a中的元素有没有在b中出现

c2=ismember(b,a);  %判断b中的元素有没有在a中出现

那么 c1= 1     0     1     0     1

c2= 1     1     1

2. [tf, loc] = ismember(a,b)

tf返回一个和a同样大小的矩阵,a的元素在b中出现,tf上的相应位置元素值为1,没有出现则为0;loc也是返回一个和a同样大小的矩阵,其相应位置的值为a相应位置的元素在b中出现的最后标号,注意是最后的标号,若某元素在b中出现多次,则记录的是最后一次出现的标号,若该位置上的a的元素没有在b中出现,则返回0.

例: a=[1 2 3 4 5];

b=[1 3 5 8 3 5 4 7 9 4];

[tf1, loc1] = ismember(a,b);

[tf2, loc2] = ismember(b,a);

结果

tf1= 1     0     1     1     1

loc1=1     0     5    10     6

tf2=1     1     1     0     1     1     1     0     0     1

loc2=1     3     5     0     3     5     4     0     0     4