Find element index of one array which is equal to the values from another array

50 vues (au cours des 30 derniers jours)
Given two arrays
A = [1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4];
B = [1,1,1,1,1,1,3,3,3,3];
return C=[1,2,3,4,5,6,11,12,13,14]
The first "3" in B is the 11th value in A.
The values in C is the index of the values in B which exist in A.
Any suggestions?

Réponse acceptée

ME
ME le 22 Nov 2019
A = [1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4];
B = [1,1,1,1,1,1,3,3,3,3];
u=unique(B);
C=[];
for i=1:numel(u)
C=[C find(A==u(i))];
end
A more elegant solution probably exists but this will work.
  2 commentaires
kaiqiang huang
kaiqiang huang le 22 Nov 2019
Thank you so much! It works well !
ME
ME le 22 Nov 2019
No problem - happy to help!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by