how do i sort cell array

123 views (last 30 days)
andrew
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
b=reshape(a,numel(a)/2,2)'
out=b(:)

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
Yatin on 18 Oct 2013
Edited: Yatin on 18 Oct 2013
Hello Andrew,
This could be a possible solution to your problem.

Community Treasure Hunt

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

Start Hunting!