Select unique couples from two vectors (?)
Afficher commentaires plus anciens
Hello!
I have a code I would like to perform withouth for loop, but I don't know how to describe it, so I'll show you with an example :)
I have two vectors, v1 and v2:
1 7
4 2
6 8
2 4
7 1
8 6
These vectors represent the couples: 1<>7, 4<>2, etc. The couple 1<>7 is the same as 7<>1, but each vector contains all the elements, so all the couple are repeated twice.
I would like to remove the duplicated couples, no matter about the order.
I actually do this with a for loop, but for big vectors it is very slow:
v1f = v1(1);
v2f = v2(1);
for i = 1:numel(v1)
if isempty(intersect(v2(i), v1f))
v1f(i) = v1(i);
v2f(i) = v2(i);
end
end
v1f = v1f(v1f>0);
v2f = v2f(v2f>0);
How can I do it in a faster and nicer way? Thank you.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!