how do i sort cell array

23 次查看(过去 30 天)
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.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-10-18
If a is your cell array
b=reshape(a,numel(a)/2,2)'
out=b(:)

更多回答(2 个)

Andrei Bobrov
Andrei Bobrov 2013-10-18
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
Hello Andrew,
This could be a possible solution to your problem.

类别

Help CenterFile 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