make matlab read the files in order?

5 views (last 30 days)
Tesla
Tesla on 4 Nov 2020
Edited: Stephen23 on 18 Apr 2021
I am using a code to read and calculate mass center. but the code read file with this oder:
Now reading C:\Users\shape_01.dat
Now reading C:\Users\shape_010.dat
Now reading C:\Users\shape_0100.dat
Now reading C:\Users\hape_0101.dat
so i get wrong orders for my output results.
because i need matlab to process my file in normal order: 1 2 3 4 4 5 ...
please is there any suggestion how to solve that?
  2 Comments
Stephen23
Stephen23 on 4 Nov 2020
@RBC MAN: are those binary numbers?
Or are they decimal numbers from which you happen to have only shown numbers using the digits 0 and 1 ?
Tesla
Tesla on 4 Nov 2020
Not binary, they are decimal, I just share the first 4 file, i have in total 501 files.
indeed it looks like that
Now reading C:\Users\shape_01.dat
Now reading C:\Users\shape_010.dat
Now reading C:\Users\shape_0100.dat
Now reading C:\Users\shape_0101.dat
Now reading C:\Users\shape_0102.dat
Now reading C:\Users\shape_0103.dat
Now reading C:\Users\shape_0104.dat
Now reading C:\Users\shape_0105.dat
Now reading C:\Users\shape_0106.dat
Now reading C:\Users\shape_0107.dat
........

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 4 Nov 2020
Edited: Stephen23 on 18 Apr 2021
Adapting from the examples in the NATSORTFILES documentation:
..
S = dir(fullfile(myFolder,'shape_0*.txt'));
S = natsortfiles(S); % alphanumeric sort by filename
for k = 1:numel(S)
baseFileName = S(k).name;
..
end
  1 Comment
Tesla
Tesla on 4 Nov 2020
Now working! thank you very much, you saved me!

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 4 Nov 2020

Categories

Find more on Entering Commands 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!