Azzera filtri
Azzera filtri

how do i sort cell array

11 visualizzazioni (ultimi 30 giorni)
andrew
andrew il 18 Ott 2013
Risposto: Andrei Bobrov il 18 Ott 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.

Risposta accettata

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

Più risposte (2)

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

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by