Finding specific values from a large matrix

5 ビュー (過去 30 日間)
Meghan
Meghan 2016 年 8 月 24 日
コメント済み: Star Strider 2016 年 8 月 24 日
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
Star Strider 2016 年 8 月 24 日
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.
  2 件のコメント
Meghan
Meghan 2016 年 8 月 24 日
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
Star Strider 2016 年 8 月 24 日
My pleasure.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOceanography and Hydrology についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by