# Finding specific values from a large matrix

6 views (last 30 days)
Meghan on 24 Aug 2016
Commented: Star Strider on 24 Aug 2016
Hi
So I have a two matrices of 46878x1. On the first matrix I used inpolygon, which resulted in 18 points being identified. What I need to do is extract the corresponding values from the second matrix, D.
Anyone have any suggestions? I've tried using ismember but it hasn't worked because I'm not comparing equal values. The first matrix has ID points, while the second matrix has point values.
Thanks Meghan :)

Star Strider on 24 Aug 2016
The inpolygon function returns a logical array, so you need to use it to define the values in vector ‘A’ in order to match them to the elements in vector ‘B’.
I would do something like this:
inA = inpolygon(A, 1, xv, 1); % Guessing Your Code
inB = ismember(B,A(inA)); % Guessing Your Code
The ‘inB’ vector is a logical vector showing the locations in vector ‘B’ that are in the subset of ‘A’ addressed by logical vector ‘inA’.
Yours is certainly an novel way to use the inpolygon function. I’ll keep that in mind.
Meghan on 24 Aug 2016
Thanks for your help. Turns out I was a bit of a fool and it was as simple as b=d(in). Didn't think it would be that simple! I also didn't explain myself very well in the question so that you for trying to help :)
Star Strider on 24 Aug 2016
My pleasure.