save ensure automatic renaming

9 views (last 30 days)
I am running a script repeatedly each time changing a few parameters, each time evaluation takes at least a few hours. At the end of my code, I put
save('myfilename.mat').
Now, each time, I have to ensure I change myfilename to avoid any data gets overwritten. Is there a way to ensure that if 'myfilename.mat' already exists, matlab saves the second .mat file as 'myfilename(1).mat' etc?
  2 Comments
Stephen23
Stephen23 on 7 Jun 2019
Edited: Stephen23 on 7 Jun 2019
This is exactly what my FEX submission is intended for:
It is designed to work efficiently even when there are a large number of files, and does not rely on a particular loop or continual code evaluation.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 7 Jun 2019
There is no automatic way to do that. You can write your own code for the purpose.
filenum = 0;
while true
filenum = filenum + 1;
filename = sprintf('myfilename_%d.mat', filenum);
if ~exist(filename, 'file'); break; end
end
save(filename);
  1 Comment
Wouter Verstraelen
Wouter Verstraelen on 7 Jun 2019
thanks! I'd believe it would be great if in the future there could just be some kind of flag to the save-command though.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Types in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!