How to sort a cell array based on the first row?
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
the cyclist
2021-6-18
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!