Delete duplicate data in matrix, based on a column
9 ビュー (過去 30 日間)
古いコメントを表示
I have multiple test data which is arranged in a matrix like 'A'. Column 1 = x-axis, column 2 = y-axis.
In order to interpolate I need to delete duplicate x-values. There is some insignificant variations in the corresponding y-values, hence it doesn't matter if it's the first or last that is kept.
Below is an example of the method i've tried. It deletes the rows where both columns are identical, but leaves the ones with different y-values
A = randi(5,10,2)
A = 10×2
4 3
3 1
5 2
4 1
5 2
3 3
2 3
1 3
4 5
4 3
B = unique(A,"rows","sorted")
B = 8×2
1 3
2 3
3 1
3 3
4 1
4 3
4 5
5 2
Is there a way to get matlab to use the first column for comparrison only, and delete the entire row?
0 件のコメント
採用された回答
Ameer Hamza
2020 年 11 月 10 日
編集済み: Ameer Hamza
2020 年 11 月 10 日
If the difference in 2nd column values for the same first column value is insignificant, then you can try the following code
A = randi(5,10,2);
[~, idx] = unique(A(:,1));
A_unique = A(idx, :);
2 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!