How to adjust the order of file sorting?
    4 views (last 30 days)
  
       Show older comments
    
I am trying to evalute my Lab data, what are represtned into TXT files then plot the conntents of data.
      dataDirectory = 'files location  ';
      allFilesDir = dir(fullfile(dataDirectory , '*.txt'));
      allFN = {allFilesDir.name};
      result = [];
      for n = 1:length(allFN)
      measNr(n) = str2double(regexprep(allFN{n},'**.txt',''));
      myFN = (fullfile(dataDirectory, allFN{n}));
      auxv =try1(myFN);
      result(n,:) = mean(auxv.data);
      end
This code is workin but into wrong order arrangemnt the TXT files (0,1,11,12,13,14 .....) which give me wrong plot data. I used
       plot(measNr,resultMG(1:35,2),'x');
but i read that i can use sort_nat in this way but it did not work for me .
       % [~, order] = sort_nat({result});
       % result = result(order);
and I got this error messge
       :??? Undefined function or method 'sort_nat' for input arguments of type
       'cell'.:
5 Comments
  Jan
      
      
 on 24 Sep 2013
				@ahmed: If you are not sure about a command, simply look in its help text:
help sprintf
  Stephen23
      
      
 on 27 May 2015
				
      Edited: Stephen23
      
      
 on 18 Apr 2021
  
			It sorts according to any numeric values in the strings, and also sorts the file extensions separately:
>> S = dir('*.txt');
>> S.name
ans =
    '1.txt'
ans =
    '10.txt'
ans =
    '2.txt'
>> S = natsortfiles(S); % alphanumeric sort by filename
>> S.name
ans =
    '1.txt'
ans =
    '2.txt'
ans =
    '10.txt'
Answers (1)
  Walter Roberson
      
      
 on 24 Sep 2013
        sort_nat is available in the File Exchange, http://www.mathworks.com/matlabcentral/fileexchange/10959-sortnat-natural-order-sort
0 Comments
See Also
Categories
				Find more on Shifting and Sorting Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



