How to use unique in an mxn matrix without sorting the columns?

3 visualizaciones (últimos 30 días)
For my project I have to account for any duplicate columns and remove them, but the original order of the columns must be retained. If I use the method below, the columns in the output get sorted. Is there a way to remove the duplicate columns in a matrix without sorting them?
I have a 2 by 4 matrix A:
A = [7, 2, 1, 9; 3, 2, 9, 11]
a_transpose = A.'
a_no_duplicate = unique(a_transpose, 'rows').'
After running the code, this is the output:
a_no_duplicate =
1 2 7 9
9 2 3 11
(Here the columns are sorted)

Respuesta aceptada

Matt J
Matt J el 9 de Sept. de 2021
Editada: Matt J el 9 de Sept. de 2021
A = [7, 2, 1, 1; 3, 2, 9, 9]
A = 2×4
7 2 1 1 3 2 9 9
a_no_duplicate = unique(A.', 'rows').'
a_no_duplicate = 2×3
1 2 7 9 2 3
a_no_duplicate_no_sort = unique(A.', 'rows','stable').'
a_no_duplicate = 2×3
7 2 1 3 2 9

Más respuestas (0)

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by