Sorting a structure using Matlab2018
Show older comments
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
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)
Guillaume
on 29 May 2019
@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.
Shamsuddeen Abdullahi
on 29 May 2019
Accepted Answer
More Answers (1)
Simon Mählkvist
on 29 May 2019
Edited: Simon Mählkvist
on 29 May 2019
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
Find more on Shifting and Sorting Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!