MATLAB Answers

Remove duplicate rows based on subset of row elements

37 ビュー (過去 30 日間)
Federico Maglione
Federico Maglione 2019 年 3 月 5 日
コメント済み: Vijay 2020 年 9 月 30 日
Hello everyone,
I tried to find a similar problem - relatively simple I believe - but I could not find a solution. If, for instrance, I have a matrix such as
A = [1 1 1 100; 2 2 2 200; 3 3 3 300; 1 1 1 500]
how can I remove from A the fourth row based on the fact that only the thee first elements of the that row are identical to the three elmenets in the first row?
Also, what if I have
A = [1 1 1 100; 2 2 2 200; 3 3 3 300; 1 1 1 500; 1 1 1 600]
and, again, I just want to keep the first row?
Thank you for your help.

  0 件のコメント

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

採用された回答

madhan ravi
madhan ravi 2019 年 3 月 5 日
編集済み: madhan ravi 2019 年 3 月 5 日
A(unique(A(1:3),'rows'),:)

  5 件のコメント

表示 2 件の古いコメント
madhan ravi
madhan ravi 2019 年 3 月 5 日
Ah my bad typo:
[~,idx,~] = unique(A(:,1:3),'rows');
A(idx,:)
Federico Maglione
Federico Maglione 2019 年 3 月 5 日
Thank you! It works perfectly
Vijay
Vijay 2020 年 9 月 30 日
Simple, but an excellent solution.

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by