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

45 views (last 30 days)
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

Yongjian Feng
Yongjian Feng on 4 Jan 2022
Edited: Yongjian Feng on 4 Jan 2022
Try something this:
a = 100;
for i=1:3
file_name = ['filename' num2str(i)];
save(file_name, 'a');
end
  2 Comments
Yongjian Feng
Yongjian Feng on 4 Jan 2022
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)

dpb
dpb on 4 Jan 2022
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
Emilio Pulli
Emilio Pulli on 4 Jan 2022
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.

Community Treasure Hunt

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

Start Hunting!

Translated by