Save uniquely named variables in loop to a certain location
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Stephen23
il 23 Apr 2018
Modificato: Stephen23
il 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 Commenti
Più risposte (1)
KSSV
il 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 Commenti
Vedere anche
Categorie
Scopri di più su File Name Construction in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!