Sorting cell arrays with characters and numbers
8 views (last 30 days)
Show older comments
Given a cell array such as {'a1', 'a2', 'a3'...'a9', 'a10', 'a11','a12'}, in random order ofcourse, using the sort function gives me {'a1', 'a10', 'a11','a12','a1','a2',...'a9'}. What method can be used to get the right order?
0 Comments
Accepted Answer
Stephen23
on 30 Oct 2022
Edited: Stephen23
on 30 Oct 2022
"What method can be used to get the right order?"
You could download my FEX submission NATSORT:
unzip it onto your MATLAB search path or into the current directory, then call it like this:
C = {'a11', 'a9', 'a3', 'a2', 'a12', 'a1','a10'}
D = natsort(C)
2 Comments
More Answers (1)
Walter Roberson
on 30 Oct 2022
Edited: Walter Roberson
on 30 Oct 2022
MATLAB already gives the "right" order, just not the order you want.
https://www.mathworks.com/matlabcentral/fileexchange/34464-customizable-natural-order-sort
0 Comments
See Also
Categories
Find more on Shifting and Sorting Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!