How to save multiple .mat files as one .mat file?
26 views (last 30 days)
Show older comments
David Mascarenhas
on 1 Jul 2021
Commented: David Mascarenhas
on 31 Jul 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 :)
0 Comments
Accepted Answer
Jeff Miller
on 2 Jul 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 Comments
Jeff Miller
on 2 Jul 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.
More Answers (0)
See Also
Categories
Find more on Workspace Variables and MAT-Files 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!