Sort cell elements according to one column

31 次查看(过去 30 天)
Hi all,
I have a cell array like this:
K>> err
err =
3×6 cell array
[1] [ 1] [] [] [31×31 double] []
[2] [ 2] [] [] [31×31 double] []
[3] [1.5] [] [] [31×31 double] []
I'd like to sort it in ascending order of the 2nd column, in an order of 1, 1.5, 2, so it becomes
K>> err
err =
3×6 cell array
[1] [ 1] [] [] [31×31 double] []
[3] [1.5] [] [] [31×31 double] []
[2] [ 2] [] [] [31×31 double] []
How can I do it? Thanks!

采纳的回答

Guillaume
Guillaume 2018-1-17
编辑:Guillaume 2018-1-17
[~, order] = sort(cell2mat(err(:, 2)));
sortederr = err(order, :)
edit: actually a lot simpler since sortrows works with cell arrays:
sortederr = sortrows(err, 2)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by