How to sort data once it is read into matlab
Afficher commentaires plus anciens
I am trying to sort the attached file first by column 1, then by column 3. I have tried the following code:
fid = fopen(filename);
data = textscan(fid, '%s %f %f');
fclose(fid);
matrix_data = [data{:}];
sort_data = sortrows(matrix_data, [1,3]);
This tells me that CAT arguments dimensions are not consistent.
Could someone tell me what is wrong with this code?
Thanks.
1 commentaire
Azzi Abdelmalek
le 18 Oct 2013
Type
whos data
whos matrix_data
Réponse acceptée
Plus de réponses (1)
Vivek Selvam
le 18 Oct 2013
This should solve your problem.
data = textscan(fid, '%s %s %s');
instead of
data = textscan(fid, '%s %f %f');
1 commentaire
Careful if you are comparing numbers which can change sign though, as this is sorting strings only:
>> sortrows( {'-88'; '-8'; '9'} )
ans =
'-8'
'-88'
'9'
Catégories
En savoir plus sur Shifting and Sorting Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!