How do I dynamically generate a file name for save in MATLAB

192 views (last 30 days)
I do not know the file name at the time of coding, only at run time.

Accepted Answer

Doug Hull
Doug Hull on 18 Jan 2011
You're probably trying
fname = 'foobag';
save fname variable;
To do this correctly, you need to use the "functional" form of save:
fname = 'foobar';
save(fname, 'variable');
In fact, it is true in general that the following two lines are equivalent:
command str1 str2 str3
command('str1', 'str2', 'str3')
This allows one replace any or all of the parameters with dynamically generated strings. This is also useful in commands like PRINT, LOAD, CLEAR, etc.
[From the MATLAB FAQ of Ancient Times]

More Answers (2)

Anish
Anish on 18 Jan 2011
You can use the function form of the SAVE command:
i = 10;
fname = sprintf('myfile%d.mat', i);
save(fname)
For more help, see:

Neha  Singh
Neha Singh on 20 Apr 2017
How it is possible to save without loop variable? Suppose I took 'x' variable and I want to append at the end of file while saving i.e filex. This show result into file1, file9 somthing like this.

Products

Community Treasure Hunt

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

Start Hunting!