在matlab中查找相同的元素

来源:百度知道 编辑:UC知道 时间:2024/07/04 15:00:08
比如a=[1 2 3 1 5 6],b=[4 1]。想查找a和b相同元素并返回元素在向量中的下标(因为a中有两个1,需要都返回),应该用什么命令?

a、b交集只有一个时可以用:
find(a==intersect(a,b))

intersect(a,b) 表示a和b的交集,find用于找到这些元素在a中的下标。
如果需要在b中的下标可以用 find(b==intersect(a,b))

如果交集有多个:
c = intersect(a,b);
answer = zeros(1, length(a));
for t = c
answer( a==t )=1;
end

运行后anwer中所有1的下标就是所求的,或者你也可以直接保存下标