MATLAB: How to sort the output of variables of cell array

cell arrayssort

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

Best Answer

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.