Rename and save multiple .mat files.
Mostrar comentarios más antiguos
Hi
I am trying to load, rename and save a group of mat files . so far I am using this code :
cd 'E:\Mat'
fileFolder = fullfile('E:\','Mat');
% cd (fileFolder)
dirOutput = dir(fullfile(fileFolder,'*.mat'));
fileNames = {dirOutput.name};
for k=1:length(fileNames)
H=fileNames{k};
movefile(H, sprintf('All_state_action_qs_%03d.mat', k));
end
although it does rename all the files properly, when I load any files (with new name) the name on the work space is the old name.
Therfore, I guess there is a way for doing Load>Rename>save again in a batch fashion.
regards
4 comentarios
Walter Roberson
el 14 de Oct. de 2019
Is there only a single variable in each of the .mat files?
caesar
el 15 de Oct. de 2019
Stephen23
el 15 de Oct. de 2019
@caesar: putting numbers into variable names is a sign that you are doing something wrong. It is unlikely to help you, just make your code complex, slow, obfuscated, and buggy.
"also I would be grateful if you can tell me how can extract the vector from within those mat files and stack them in one N*24 matrix"
I get the feeling that you are not actually asking us what you are really trying to achieve:
Probably it would also help if you uploaded some sample data, by clicking the paperclip button.
caesar
el 15 de Oct. de 2019
Respuestas (1)
per isakson
el 14 de Oct. de 2019
0 votos
"the name on the work space is the old name" What do you expect? It's the names of the variables contained in the mat-file. They aren't affected by the name of the mat-file.
How exactly do you load the renamed mat-file?
Categorías
Más información sobre MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!