Save a matrix .mat in a specific folder with a variable name

I would like to save a matrix as a .mat file in a specific folder. The save function is located at the end of a for loop and, therefore, it is needed to be saved with a variable name changing each loop iteration. At the moment I am able to save the .mat file in a specific folder but I am not able to save it with the desired variable name. I am now using this function:
save('filepath','variablename')
where the variablename is the name of the .mat file that needs to be saved.
Thank you all!

 Accepted Answer

Try something this:
a = 100;
for i=1:3
file_name = ['filename' num2str(i)];
save(file_name, 'a');
end

2 Comments

Your method works but it does not include a way to save the variable in a desired folder
If you want to use the same folder but different file names:
a = 100;
folder_name = 'tmp';
if ~exist(folder_name, 'dir')
mkdir(folder_name);
end
for i=1:3
file_name = ['filename' num2str(i)];
filepath = fullfile(folder_name, file_name);
save(filepath, 'a');
end
Or if you want to use different folders:
a = 100;
for i=1:3
folder_name = ['folder' num2str(i)];
if ~exist(folder_name, 'dir')
mkdir(folder_name);
end
filepath = fullfile(folder_name, 'filename');
save(filepath, 'a');
end

Sign in to comment.

More Answers (1)

save(filepath,'variablename')
The functional form of save needs the file name to be the variable containing the (hopefully fully-qualified) desired filename, the variable name must be the literal string matching the variable to be saved.

1 Comment

I need a way to both save the variable in a specific folder with a desired name. If you point me a way of how correctly placing these infos into the brackets of the save function I could figure the problem out

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!