Matlab : comparaison de vecteurs

Résolu
kiki -  
 Darkane -
Bonjour,

J'ai une question bête.
J'ai deux vecteurs soit V1 = [2 3 4 5 6] et V2 = [2 3 4 6] (toutes les valeurs dans V1 et V2 sont uniques).
Je voudrais trouver les indices du vecteur V1 qui contiennent une valeur contenue dans le vecteur V2. Ici je veux donc le résultat : 1, 2, 3, 5.

J'ai pensé à l'option
cpt = 1;
for i =1:length(V2)
ind(cpt) = find(V1==V2(i));
cpt = cpt+1;
end

Mais je me demande s'il n'y a pas une solution qui évite l'utilisation d'une boucle for (mes calculs sont déjà assez longs).

Merci.
A voir également:

1 réponse

Sacabouffe Messages postés 9427 Date d'inscription   Statut Membre Dernière intervention   1 835
 
Salut
[I J] = find(repmat(V1,size(unique(V2),2),1)==repmat(unique(V2.'),1,size(V1,2)));
indV1=sort(J); clear I J;
A plus
0
Darkane
 
Avec intersect ça devrait marcher aussi et plus simplement.
0