how do i sort cell array

34 ビュー (過去 30 日間)
andrew
andrew 2013 年 10 月 18 日
回答済み: Andrei Bobrov 2013 年 10 月 18 日
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 Center および File ExchangeShifting and Sorting Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by