Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Saving Lots of Plots as Variable Changes in Time

Asked by K on 18 Jun 2013

Alright, this may be a simple question, but I am still learning. I am trying to generate a file with a variable number of plots, perhaps 10 per page. I have a variable, a, that I would like to change, and every time it changes I want a new plot. I was planning on doing this in a for loop like so:

for a=400:5:500

   b(a)=equation
   function
   function
   function
   plot(output,'r');
   axis([0 max(output)+10 -20 400])
   hold on
   plot(my data,'k'); %as background to see changes
   hold off
end

Ideally, I would have 50 plots saved somewhere with all the different values of a worked through the functions. As it is, I get one plot with the final value of a input, which I expected due to the way I currently have it written.

I am also thinking it would be fun to make a movie showing the change in 'a' as it changes for each frame.

Any advice?

0 Comments

K

Products

No products are associated with this question.

2 Answers

Answer by Iain on 18 Jun 2013
Accepted answer
 for a = 400:5:500
  % do stuff to get your results. 
  figure(n)
  plot(output,'r');
  axis([0 max(output)+10 -20 400])
  hold on
  plot(my data,'k'); %as background to see changes
  hold off
  saveas(n,[folder '\' filename num2str(a) '.png']) 
 % eg saveas(n,['D:\My random storage location\' 'images' num2str(a) '.png']) 
 end

That'll save it all to file. (n can be any positive integer)

Look up the help documentation for "avifile" to get some of the code you need for creating avi files.

2 Comments

Tom on 18 Jun 2013

A lesson I learned from leaving a similar sort of program running overnight is to get rid of the figure once it's saved...

close(n)
Iain on 18 Jun 2013

And depending on what else you're doing/have done its best to make n an unusual number, like 171

Iain
Answer by K on 18 Jun 2013

Thank you! That works great

0 Comments

K

Contact us