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

73 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
Emilio Pulli
Emilio Pulli on 4 Jan 2022
Your method works but it does not include a way to save the variable in a desired folder
Yongjian Feng
Yongjian Feng on 4 Jan 2022
Edited: 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
Edited: 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.

Categories

Find more on File Operations 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!