How to save multiple .mat files as one .mat file?

23 vues (au cours des 30 derniers jours)
David Mascarenhas
David Mascarenhas le 1 Juil 2021
Hello,
I have a matlab script that processes some data for each hour of the day and saves each result as > " result_ddmmyy_hh.mat " file.
This gives me a file of all the resultant data processed for that hour.
I use this script on a loop to study the data for the whole day and then the same for the whole week.
Now I have too many files (24 X 7). I would like to store all the results of each day as one complete file, that way i will have only 7 meta-data files.
Is there a way to do this directly without re-running the entire script? Can I directly merge multiple .mat files into one .mat file?
Thank you in advance!
David :)

Réponse acceptée

Jeff Miller
Jeff Miller le 2 Juil 2021
You can load all 24 .mat files for a single day and then save all of the collected variables together as one .mat file. For example:
Collected = cell(24,1);
for Hour=1:24
fname = ['FileForHour' num2str(Hour) '.mat'];
Collected{Hour} = load(fname);
end
save('CollectedForThisDay','Collected')
Details might change a bit depending on how the hourly variables are named and how you want them named in the collected file.
  3 commentaires
Jeff Miller
Jeff Miller le 2 Juil 2021
No, the method will save the variables for all hours---not just the last one.
For example, Collected{1}.Var1 will be the value of Var1 for the first hour, Collected{2}.Var1 wil be the value of Var1 for the second hour...Collected{24}.Var1, and so on for all variables.
In the saved file, you can think of each Collected{k} as a folder with its own collection of variables.
David Mascarenhas
David Mascarenhas le 31 Juil 2021
This works!!
I had to adjust some of my data, but the idea is fantastic.
Thank you! :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Entering Commands dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by