How to use Uniquetol without sorting?
18 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
AMEHRI WALID
am 12 Jul. 2019
Kommentiert: Min Zhang
am 23 Nov. 2021
Hello everyone,
I'm using the function "Uniquetol" to remove the duplicate vector from a matrix A which the size is (3, 10).
B = ( uniquetol(A', 1e-6, 'ByRows', 1) )';
It works very well, but it is also sorting my matrix which what I don't want
Please, can anyone tell how can we use the function "Uniquetol" without sorting ?
0 Kommentare
Akzeptierte Antwort
Guillaume
am 12 Jul. 2019
[~, colindices] = uniquetol(A', 1e-6, 'ByRows', true); %get indices of unique value. Is sorted BY VALUE
B = A(:, sort(colindices)) %Use the indices sorted BY INDEX instead
4 Kommentare
Bruno Luong
am 28 Okt. 2020
Both solutions are equally valid. They respect the order in the original matrix.
Sorry Huy, there is not reason your solution is right and other is wrong.
Min Zhang
am 23 Nov. 2021
Try this:
A = [0.05 0.11 0.18; ...
0.46 0.52 0.76;...
0.34 0.36 0.41; ...
0.18 0.21 0.29; ...
0.46 0.52 0.76;...
0.05 0.11 0.18;];
%
[~, colindices] = uniquetol(A, 'ByRows', true)
sort(colindices)
% get indices of unique value. Is sorted BY VALUE
B = A(sort(colindices),:)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Numeric Types finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!