Sorting a structure using Matlab2018

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 Comments

Jan
Jan on 29 May 2019
Edited: Jan on 29 May 2019
What is your question and with which problem can we help you? What exactly is not sorted?
Why not sorting it by:
ten.cat = [7,2,4,1];
ten.cat = sort(ten.cat)
@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.

Sign in to comment.

 Accepted Answer

ten.cat = [7,2,4,1];
ten.cat = sort(ten.cat)

More Answers (1)

Hi,
Adjusting:
ten.cat=[7,2,4,1]
to:
ten.cat=[7;2;4;1]
gives what I think is the sought after results.

Categories

Asked:

on 29 May 2019

Answered:

Jan
on 29 May 2019

Community Treasure Hunt

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

Start Hunting!