Sorting a structure using Matlab2018

2 次查看(过去 30 天)
Hi
I want to sort this structure in descensind order using MATLAB 2018:
ten.cat=[7,2,4,1].
I used the following commands but it is still not sorted:
pp_1=ten;
TT = struct2table(pp_1) % convert to tables
gg=sortrows(TT,'cat') % sort
sortedpp_1 = table2struct(gg) % convert the table back to structure.
please, help
  3 个评论
Guillaume
Guillaume 2019-5-29
@Jan, this should go as an answer as I see no way of improving on that with the information given.
@shamsuddeen, there's never any need to convert a structure to anything in order to operate on it. Certainly, converting a structure into a table and back is a complete waste of time for your purpose. In this case, the fact that ten is a structure is completely irrelevant anyway, you're not sorting a structure, but just one field of a scalar structure which is the same as any non-structure variable.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2019-5-29
ten.cat = [7,2,4,1];
ten.cat = sort(ten.cat)

更多回答(1 个)

Simon Mählkvist
Simon Mählkvist 2019-5-29
编辑:Simon Mählkvist 2019-5-29
Hi,
Adjusting:
ten.cat=[7,2,4,1]
to:
ten.cat=[7;2;4;1]
gives what I think is the sought after results.

类别

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