How to sort a cell array based on the first row?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dongyan Zhu
il 18 Giu 2021
Commentato: Dongyan Zhu
il 18 Giu 2021
I have two rows of cell array:
Combined =
2×3 cell array
{'4'} {'1'} {'6'}
{'1'} {'3'} {'4'}
Now I want to sort the first row of this 2*3 cell array from small number to large number and the second row will be sorted according to the first row, which means the second row should look like this:
{'1'} {'4'} {'6'}
{'3'} {'1'} {'4'}
Then I want to extract the second row as an 1*3 cell array.
Can someone help me? Many thanks.
0 Commenti
Risposta accettata
the cyclist
il 18 Giu 2021
Out of curiosity, is there some reason you are using a cell array rather than a numeric array to store these numeric data?
% Original data
in = {'4','1','6';'1','3','4'}
% Sort first row, and get sorting index
[in_sorted,sorting_idx] = sort(in(1,:))
% Extract last row, sorted according to first
out = in(2,sorting_idx)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!