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