How to sort the data with respect to a column in matlab

114 vues (au cours des 30 derniers jours)
satendra kumar
satendra kumar le 6 Nov 2012
Commenté : Ameetha le 19 Sep 2022
Lets say....A matrix PhysicalData is a 18X12 matrix. And i want to sort all the rows, in the ascending order of value in any column (Lets say 15th column). So the Row corresponding to the lowest value in 15th column should come first and so on. Please help me out. Thanks

Réponse acceptée

Thomas
Thomas le 6 Nov 2012
doc sortrows
Suppose you want to sort matrix A according to the 15th column you would use
out=sortrows(A,15)

Plus de réponses (1)

Ameetha
Ameetha le 19 Sep 2022
How to sort a table based on a particular column in ascending order whose elements are names of images saved in the order 1.jpg,2.jpg...... When sortrows command is used its getting sorted as 1.jpg, 10.jpg, 100.jpg etc
  5 commentaires
Stephen23
Stephen23 le 19 Sep 2022
Modifié(e) : Stephen23 le 19 Sep 2022
The NATSORTROWS documentation states that the second input argument is reserved for specifying a regular expression (if used). This is explained in the Mfile help and in the HTML help.
To specify the table variable/column name to sort, then this can be provided as input 3 (or greater):
Data1 = natsortrows(Data, [], 'ImageName');
An alternative approach is to sort that variable/column using NATSORTFILES and then use the sort index to sort the table into the same order:
[~,idx] = natsortfiles(Data.ImageName);
Data1 = Data(idx,:)
Ameetha
Ameetha le 19 Sep 2022
[~,idx] = natsortfiles(Data.ImageName);
Data1 = Data(idx,:)
Thanks a lot. It actually worked. Thank you so much.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by