I use MATLAB 2011. Related to the questions I asked yesterday. How to save plots and work space to a folder automatically that come in a loop.

3 views (last 30 days)
I have about 900 data sets to be analysed and that can be done with single program. Using a loop for d=1:900 I'm able to do that. for d=1 the first data set is analysed and I get about 5 plots and a work space. Similarly for d=2 till d=900. I want to know if there is a code which saves the plots and work spaces to a folder after executing the program for each data set i.e., for each d=integer a separate folder having corresponding plots and work spaces. If it is possible also suggest me a way to name those folders differently so that they don't get replaced because of having the same name.

Accepted Answer

Iain
Iain on 6 Jun 2013
for i = 1:n
... code
filename = [somepath '\' somefilename num2str(i) '.png'];
saveas(figure,filename)
filename = [somepath '\' somefilename num2str(i) '.mat'];
save(filename)
end
  4 Comments
Kompella
Kompella on 7 Jun 2013
thank you lain. I got it right now. Sorry if I'm troubling you... I have another question. That is just for one plot. But for each value of i I have 5 plots. I tried using same h = plot( fitresult{1}, xData, yData );...but it is not working.This is wat matlab showed. An error.
Operands to the and && operators must be convertible to logical scalar values.
Error in saveas (line 64) while ~isempty(h) && ~isfigure(h)
I tried using h(1),h(2)...h(5). still it didn't work.
Please help me in doing that

Sign in to comment.

More Answers (1)

David Sanchez
David Sanchez on 6 Jun 2013
for k = 1:900
filename = strcat('my_fig_',num2str(k));
h = figure; % figure handle
plot(a,b); % your data
print(h, '-dbmp', filename);
end

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!