Finding multiple locations in a vector

2 vues (au cours des 30 derniers jours)
Bran
Bran le 5 Oct 2015
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
Azzi Abdelmalek le 5 Oct 2015
Modifié(e) : Azzi Abdelmalek le 5 Oct 2015
a=ismember(A,B)
b=find(a)

Image Analyst
Image Analyst le 5 Oct 2015
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 MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by