how do i sort cell array

119 views (last 30 days)
andrew on 18 Oct 2013
Answered: Andrei Bobrov on 18 Oct 2013
I was wondering how can I sort a cell array. I have a cell array that contains 'T1-001'to 'T1-058' and 'T2-001 to T2-058' and was wondering if I could sort it so that it can go something like this:
T1-001,T2-001,T1-002, T2-002, etc.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 18 Oct 2013
If a is your cell array

More Answers (2)

Andrei Bobrov
Andrei Bobrov on 18 Oct 2013
q = {'T1-001','T2-058','T1-235','T1-058','T2-001',' T1-045'};
q0 = regexp(q,'\d*','match');
q1 = str2double(cat(1,q0{:}));
[~,ii] = sortrows(q1,[2 1]);
out = q(ii);

Yatin on 18 Oct 2013
Edited: Yatin on 18 Oct 2013
Hello Andrew,
This could be a possible solution to your problem.


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!