Save uniquely named variables in loop to a certain location
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello everyone,
I am running a loop where a variable U is calculated and saved in a .mat file under a unique name every iteration. To name the .mat file I use sprintf:
for j:length(d)
% Long calculation of U left out
save(sprintf('U%02d',j+1), 'U', '-v7.3');
end
Each U is now saved in a .mat file named with the iteriation number with two digits after 'U' and in mat version 7.3. This works great.
However, I would also like define the folder location where the .mat file is saved. I know how to do this using the save command without sprintf but I can't seem to get this to work in combination with sprintf.
Any help is greatly appreciated,
Thank you, Roel
0 Kommentare
Akzeptierte Antwort
Stephen23
am 23 Apr. 2018
Bearbeitet: Stephen23
am 23 Apr. 2018
fullname = fullfile(dir1path,dir2path,...,filename)
This will automatically take into account the required file separators. For your case, something like this:
sdp = some directory path
for k = 1:numel(d)
% Long calculation of U left out
fnm = sprintf('U%02d.mat',k+1);
save(fullfile(sdp,fnm), 'U', '-v7.3')
end
2 Kommentare
Weitere Antworten (1)
KSSV
am 23 Apr. 2018
path = pwd ; % Give your path here
filename = [pwd,filesep,sprintf('U%02d',j+1)]
By the way, you need not save data of iteration into different .mat files. You can save them into a 3D matrix or cell and save it into a singl mat file.
3 Kommentare
Siehe auch
Kategorien
Mehr zu File Name Construction finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!