Filter löschen
Filter löschen

how do i sort cell array

11 Ansichten (letzte 30 Tage)
andrew
andrew am 18 Okt. 2013
Beantwortet: Andrei Bobrov am 18 Okt. 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.

Akzeptierte Antwort

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

Weitere Antworten (2)

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

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by