Saving figures in a loop with variable file names

Hi I'm trying to run a loop that creates plots and then saves them in a specific file. I'm having trouble saving the figures with the correct names and also populating them in a specific file. I realize what I have currently in the filename is invalid but here is what I have so far:
order = ["rr_la", "ll", "rr_sa", "cc"];
orderS = ["epi", "mid", "endo", "ave"];
for j = 1:16 % through AHA regions but not the apex
region2 = "AHA" + j;
for k = 1:4 % through order of strains
epi = S10.(region2).stat.(order(k)).epi.org;
mid = S10.(region2).stat.(order(k)).mid.org;
endo = S10.(region2).stat.(order(k)).endo.org;
ave = S10.(region2).stat.(order(k)).ave.org;
phase = 1:size(epi,1);
plot(phase,epi,phase,mid,phase,endo,phase,ave);
legend('epi','mid','endo','ave');
grid
filename = [(Snum) '_AHAPlot' (region2) (order(k)) '.fig'];
saveas(gcf,filename);
end
end

 Accepted Answer

Assuming they're all strings, try sprintf():
filename = sprintf('%s_AHAPlot%s%s.png', Snum, region2, order(k));

2 Comments

Seemed to work in creating the files, how do I make them populate a specific file?
I don't know what that means. The line of code I gave constructs a filename string. You then need other lines of code to create the file, such as
currentFigure = gcf;
exportgraphics(currentFigure, filename); % r2020a release or later only

Sign in to comment.

More Answers (0)

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!