Sort cell array columns by two dimensions
古いコメントを表示
I want to sort the columns of a cell array along the first two rows.
The array has this form (the top row is already sorted):
array = {'A' 'A' 'B' 'B' 'B' 'C' 'C'; ...
1 0.1 1 0.1 0.5 1 0.1; ...
2 3 2 4 5 2 3}
And I would like the output to be in this form:
array = {'A' 'A' 'B' 'B' 'B' 'C' 'C'; ...
0.1 1 0.1 0.5 1 0.1 1; ...
3 2 4 5 2 3 2}
Thanks in advance!
採用された回答
その他の回答 (1 件)
Star Strider
2015 年 1 月 10 日
This seems to work:
array = {'A' 'A' 'B' 'B' 'B' 'C' 'C'; ...
1 0.1 1 0.1 0.5 1 0.1; ...
2 3 2 4 5 2 3};
B = sortrows(array', [1 2])'
and produces:
B =
'A' 'A' 'B' 'B' 'B' 'C' 'C'
[0.1] [1] [0.1] [0.5] [1] [0.1] [1]
[ 3] [2] [ 4] [ 5] [2] [ 3] [2]
カテゴリ
ヘルプ センター および 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!