MATLAB Answers

0

How to create a movie with different plot components?

I am animating some mechanical parts. For each time interval several "mechanical parts" change their positions. My problem is that my program will not clear the plots from the previous time intervals, so at the end the figure becomes a mix of all time intervals.
figure(1)
set(gca,'nextplot','replacechildren');
for t=1:(2*pi/w1)+1
Calculations...
plot([A1(1) A2(1)],[A1(2) A2(2)],'r.')
plot([x1 x2],[y1 y2],'k');
plot([A1(1) x1],[A1(2) y1],'b-')
plot([A2(1) x2],[A2(2) y2],'b-')
plot([P1(1);P2(1)],[P1(2);P2(2)],'go')
hold on
F(t)=getframe;
end
%Make a movie
movie(F,1)
I have used exactly the same method earlier and suceeded, but I have never had more than one plot for each time interval. How can I replace the previous image?
Best regards,
Audun Yrke

  댓글 수: 0

로그인 to comment.

답변 수: 1

Youssef Khmou 님의 답변 26 Jan 2015
 채택된 답변

To clear the previous sample, try :
for t=1:(2*pi/w1)+1
%Calculations...
plot([A1(1) A2(1)],[A1(2) A2(2)],'r.');
hold on;
plot([x1 x2],[y1 y2],'k');
plot([A1(1) x1],[A1(2) y1],'b-')
plot([A2(1) x2],[A2(2) y2],'b-')
plot([P1(1);P2(1)],[P1(2);P2(2)],'go')
hold off;
F(t)=getframe;
end
Adjust the axes for stable sequence.

  댓글 수: 1

Thank you very much for your answer! There was one combination of hold on/off I had ignored...

로그인 to comment.



Translated by