[Animation]: To animate a figure as function of several variables

2 views (last 30 days)
Hi, I have a function(my_figure) that creates a figure by taking an array of variables(q) as argument and plotting according to the values of those variables.
my_figure(q)
I wish to animate a collection of such figures by varying the array of variables in a loop. I have come across 'refresh data' but cannot figure out how that is supposed to help me. Please help.

Answers (1)

Grzegorz Knor
Grzegorz Knor on 21 Nov 2013
See getframe and movie functions in the MATLAB documentation.There is a following example:
Z = peaks;
figure('Renderer','zbuffer');
surf(Z);
axis tight;
set(gca,'NextPlot','replaceChildren');
for j = 1:20
surf(sin(2*pi*j/20)*Z,Z)
F(j) = getframe;
end
movie(F,20) % Play the movie twenty times
  1 Comment
Shobhit
Shobhit on 21 Nov 2013
Edited: Shobhit on 21 Nov 2013
Thanks for your reply. It helps. But I seem to be getting an error that:
Error using hgMovie
Movie contains uninitialized frames
Error in movie (line 41)
builtin('hgMovie',varargin{:});
I can see that All the frames have been alloted a value. I cannot understand the reason for this error.
I have given a part of my code for reference.
figure;
a_plot_m(q_eq);
axis tight;
set(gca,'NextPlot','replaceChildren');
for j =1:10
qm=q2(:,j);
car_plot_m(q_eq)
F(j) = getframe(gcf);
end
movie(F,10) % Play the movie

Sign in to comment.

Categories

Find more on Animation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!