Info

This question is closed. Reopen it to edit or answer.

How can I sort the filenames in order given by dir()? I cannot turn a structure into a character array which means I cannot use sort, any tiips?

1 view (last 30 days)
function frstarrv()
File_names = dir('*.csv'); %attain every waveform in the event folder
h = char(File_names);
j = sort(h);
numFiles = length(File_names);
incr = 1:numFiles;
for i = 1:numFiles %call graphData() for each waveform
file = File_names(i).name;
hold on
plus = incr(i);%needed to offset graphs for plotting
[pksa,l] = graphData(file,plus);
hold on
end
end
%end of firstarrv()***************************************************

Answers (2)

Walter Roberson
Walter Roberson on 23 Jun 2019
https://www.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 23 Jun 2019
Hi,
You'd need to use this syntax for char() command: h = char(File_names.name);
With this, the command sort() sorts out the *.csv files in your current directory.
Good luck.

Tags

Community Treasure Hunt

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

Start Hunting!