Finding multiple locations in a vector

2 Ansichten (letzte 30 Tage)
Bran
Bran am 5 Okt. 2015
Beantwortet: Image Analyst am 5 Okt. 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?

Antworten (2)

Azzi Abdelmalek
Azzi Abdelmalek am 5 Okt. 2015
Bearbeitet: Azzi Abdelmalek am 5 Okt. 2015
a=ismember(A,B)
b=find(a)

Image Analyst
Image Analyst am 5 Okt. 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

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by