load multiple files in right order

8 visualizaciones (últimos 30 días)
Nik Rocky
Nik Rocky el 1 de Dic. de 2020
Editada: Stephen23 el 18 de Abr. de 2021
Hello,
I'm loading multiple mat-files in workspace, the names of files are:
Schweben_Meg_2_2-01_SNR_-030_PLL.mat
Schweben_Meg_2_2-01_SNR_-015_PLL.mat
Schweben_Meg_2_2-01_SNR_000_PLL.mat
Schweben_Meg_2_2-01_SNR_015_PLL.mat
Schweben_Meg_2_2-01_SNR_030_PLL.mat
the answers will be writen to one result files. The problem - MATLAB loads this files in "wrong" order.
First it takes:
Schweben_Meg_2_2-01_SNR_-015_PLL.mat
than
Schweben_Meg_2_2-01_SNR_-030_PLL.mat
than
Schweben_Meg_2_2-01_SNR_000_PLL.mat
.....
I want to get a loading order:
Schweben_Meg_2_2-01_SNR_-030_PLL.mat first
than
Schweben_Meg_2_2-01_SNR_-015_PLL.mat
than
Schweben_Meg_2_2-01_SNR_000_PLL.mat
it is possible to read a data in "right" order without rename of all the files? (I have about 1000x of thoose files)
Thank you!
  2 comentarios
Timo Dietz
Timo Dietz el 1 de Dic. de 2020
I guess you have to isolate the PLL(?) values and sort them separately.
Then re-build the filenames to be loaded.
Nik Rocky
Nik Rocky el 1 de Dic. de 2020
Thanks, I try to implement a natsortfiles-function now.
Actually, I made already a workaround tool to resort my results. Small script that turn a first and second row of result. But it's not really nice =)

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 1 de Dic. de 2020
Editada: Stephen23 el 18 de Abr. de 2021
You could download my FEX submission natsortfiles:
and use the regular expression '-?\d{3}' (or similar), e.g.:
D = 'path to the folder where the files are saved';
S = dir(fullfile(D,'Schweben*PLL.mat'));
S = natsortfiles(S,'-?\d{3}'); % alphanumeric sort by filename
... etc
  9 comentarios
Stephen23
Stephen23 el 2 de Dic. de 2020
Editada: Stephen23 el 2 de Dic. de 2020
sys_var = dir('**/*.mat');
[~,ndx] = natsortfiles({sys_var.name},'-?\d{3}');
sys_var = sys_var(ndx);
"Thank you Stephen, it works great! "
Please remember to accept my answer if it helped you.
Nik Rocky
Nik Rocky el 2 de Dic. de 2020
Great, short and nice!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre File Operations 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