how do i sort cell array

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.

 采纳的回答

If a is your cell array
b=reshape(a,numel(a)/2,2)'
out=b(:)

更多回答(2 个)

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 2013-10-18
编辑:Yatin 2013-10-18

0 个投票

Hello Andrew,
This could be a possible solution to your problem.

类别

帮助中心File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by