Sorting columns of cell Array

6 Ansichten (letzte 30 Tage)
Manuel Arcangeletti
Manuel Arcangeletti am 13 Mai 2019
Bearbeitet: Stephen23 am 13 Mai 2019
Hello,
I have a Cell Array of Data that is 144x12; it looks like this:
Cell Array_snapshot.png
Now I would like to sort the columns by the value in row 7. At the end, what I would like is a Cell Array with the first column that has in row 7 'p1' and so on...
I will try to be more specific because maybe there's a clever way to obtain what I need...
In my data there are, for example, six columns that have the same value in row 7, but different values in row 6. Given that, I need to do some analysis on all the ones that have the same value in row 7, but taking as reference the one between them that have a certain value in row 6.
Can somebody help me please?
Thank you very much and best regards,
Manuel

Akzeptierte Antwort

Stephen23
Stephen23 am 13 Mai 2019
Bearbeitet: Stephen23 am 13 Mai 2019
Either download my FEX submission natsort:
and then use it like this, where C is your cell array:
[~,idx] = natsort(C(7,:))
D = C(:,idx)
Or use sscanf to get the numeric values and then sort them:
[~,idx] = sort(sscanf([C{7,:}],'p%f'))
D = C(:,idx)

Weitere Antworten (0)

Kategorien

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

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by