Sorting a Cell Array
142 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Matthew
am 23 Dez. 2011
Kommentiert: Ananya
am 26 Apr. 2024
Hi,
Sorry if this has been asked / answered many times or very simple etc. etc!
If I have a cell array say Array = {B C A;1 3 2; D E F}
Is it possible to sort the first row in order, so its A B C, with the second and third rows changing corresponding to to this initial sort?
Final answer being {A B C;2 1 3;F D E}
Thanks in advance Matthew
0 Kommentare
Akzeptierte Antwort
Andrei Bobrov
am 23 Dez. 2011
Array = {'B' 'C' 'A';1 3 2; 'D' 'E' 'F'}
out = sortrows(Array',1)';
OR
[id id] = sort(Array(1,:))
out = Array(:,id)
3 Kommentare
NALLARASU KRISH
am 10 Mär. 2022
What is the syntax for sorting cell arrays in descending order? Thank You!
Ananya
am 26 Apr. 2024
sortrows(Array',1)':: here since sortrows works for columns ,(sorting elements in a column of a matrix...)
you needed the row to be sorted here , so Array' is the transpose of it and then doing a retranspose of the result by doing sortrows(Array',1)'<-- to get the original matrix
for descending its simple, just add 'descend' at the end of these arguments (Array',1,'descend')'
Weitere Antworten (3)
Andreas Goser
am 23 Dez. 2011
It is not clear to me what your cell array really looks like, as your example is not valid, but the SORTROWS command should work.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Shifting and Sorting Matrices 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!