Finding multiple locations in a vector

5 views (last 30 days)
Bran
Bran on 5 Oct 2015
Answered: Image Analyst on 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?

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 5 Oct 2015
Edited: Azzi Abdelmalek on 5 Oct 2015
a=ismember(A,B)
b=find(a)

Image Analyst
Image Analyst on 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

Categories

Find more on Cell Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!