Find unique in matrix of x,y coordinates

26 ビュー (過去 30 日間)
Ruchi Bhatia
Ruchi Bhatia 2017 年 12 月 19 日
コメント済み: Ruchi Bhatia 2017 年 12 月 20 日
Hello, I would love your help.
If I have a matrix of x,y coordinates for example:
x y
A=[ 2.5 3.5
1.2 3.5
2.2 1.2
1.2 3.5
4.0 2.2 ]
How do I find a unique of this? In the above example one instance of x,y (1.2, 3.5) will be removed?

採用された回答

Kelly Kearney
Kelly Kearney 2017 年 12 月 19 日
To find unique rows, you can use unique with the 'rows' option. (The 'stable' option preserves the input order, if that's important for your application).
unique(A, 'rows', 'stable')
  1 件のコメント
Ruchi Bhatia
Ruchi Bhatia 2017 年 12 月 19 日
Thanks. Wow, didn't realize it was that straight forward.

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

その他の回答 (2 件)

Image Analyst
Image Analyst 2017 年 12 月 19 日
Try unique() with the 'rows' option:
uniqueRowsOfA = unique(A, 'rows')
  1 件のコメント
Ruchi Bhatia
Ruchi Bhatia 2017 年 12 月 20 日
thank you

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


Kaushik Lakshminarasimhan
Kaushik Lakshminarasimhan 2017 年 12 月 19 日
Did you try this?
[C,IA] = unique(A,'rows');
C contains all unique rows of A. IA contains the indices of the rows of A that are in C. So if you want the indices of the rows that were removed, you can use:
[nrows,~] = size(A);
notIA = setdiff(1:nrows,IA); % duplicate rows
  1 件のコメント
Ruchi Bhatia
Ruchi Bhatia 2017 年 12 月 19 日
Thank you! Very helpful.

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

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by