How to adjust the order of file sorting?

4 visualizaciones (últimos 30 días)
ahmed
ahmed el 24 de Sept. de 2013
Editada: Stephen23 el 18 de Abr. de 2021
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 comentarios
Jan
Jan el 24 de Sept. de 2013
@ahmed: If you are not sure about a command, simply look in its help text:
help sprintf
Stephen23
Stephen23 el 27 de Mayo de 2015
Editada: Stephen23 el 18 de Abr. de 2021
A simple solution is to use my FEX submission natsortfiles
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'

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson el 24 de Sept. de 2013

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by