How to sort the output of variables of cell array ?

3 views (last 30 days)
I would like to sort the output of variables fx1 with the first digit and preserve the rows.
sortrows(data,1) does not work with cells
>> fx1{1}
ans =
5->2
fx1 =
'5->2'
'2->1'
'1->3'
'3->9'
'9->5'
'5->2'
'2->1'
Sorted to
'1->3'
'2->1'
'2->1'
'3->9'
'5->2'
'5->2'
'9->5'
sortrows(data,1) does not work with cells

Accepted Answer

Stephen23
Stephen23 on 8 Aug 2017
Edited: Stephen23 on 8 Aug 2017
If it is a vector, why not simply use sort?:
>> sort(fx1)
ans =
'1->3'
'2->1'
'2->1'
'3->9'
'5->2'
'5->2'
'9->5'
If you want to sort by numeric value rather than character code then download my FEX submission natsortrows, which also includes natsort: one of these might do what you want.
  1 Comment
Ole
Ole on 8 Aug 2017
Thanks I had an empty cell at the end and was giving error. Works fine with sort.

Sign in to comment.

More Answers (0)

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!