Finding multiple locations in a vector
Afficher commentaires plus anciens
I was hoping someone could help, I am trying to use the find function to give me the location of the values of a vector in a larger vector.
ie
[a,b] = find(A==B);
where A is 300 by 1 and B is 20 by 1 but obviously I get an error because B is not a single value. Is there another function that I can use?
Réponses (2)
Azzi Abdelmalek
le 5 Oct 2015
Modifié(e) : Azzi Abdelmalek
le 5 Oct 2015
a=ismember(A,B)
b=find(a)
Image Analyst
le 5 Oct 2015
0 votes
You can use ismember() as long as they're integers or powers of two. If they're weird floating point numbers, see the FAQ: http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
Catégories
En savoir plus sur Logical 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!