How to sort a struct

227 views (last 30 days)
Peter Meier
Peter Meier on 23 Jul 2020
Commented: Stephen23 on 23 Jul 2020
Is it possible to sort a struct? I want to sort the third column.
0 should be in the first row and the highest value at the end (last row). The other values are not important and should be the same ranking.
Thank you.
  2 Comments
KSSV
KSSV on 23 Jul 2020
Yes, you can.....read about sort. It depends how your structure is.
Peter Meier
Peter Meier on 23 Jul 2020
T = struct2table( parameter.list); % convert the struct array to a table
sortedT = sortrows(T, 'value'); % sort the table by value
sortedS = table2struct(sortedT) % change it back to str
%it works but i just want to sort the lowest and highest value (rows)

Sign in to comment.

Accepted Answer

Mohammad Sami
Mohammad Sami on 23 Jul 2020
Edited: Mohammad Sami on 23 Jul 2020
You can try like this.
% a = somestruct;
[~,index] = sortrows([a.Var3].');
a = a(index);
  2 Comments
Peter Meier
Peter Meier on 23 Jul 2020
Thank you so much
Stephen23
Stephen23 on 23 Jul 2020
[~,index] = sort([a.Var3]);

Sign in to comment.

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!