function [sys,x0]=penanimation(t,x,u,flag,ts); global penanimation if flag==2, if any(get(0,'Children')==penanimation), if strcmp(get(penanimation,'Name'),'Case Study 2 Pendulum Animation'), set(0,'currentfigure',penanimation); hndlList=get(gca,'UserData'); x=[u(1) u(1)+2*sin(u(2))]; y=[0 -2*cos(u(2))]; set(hndlList(1),'XData',x,'YData',y); set(hndlList(2),'XData',u(1),'YData',0); drawnow; end end sys=[]; elseif flag == 4 % Return next sample hit ns = t/ts; sys = (1 + floor(ns + 1e-13*(1+ns)))*ts; elseif flag==0, animinit('Case Study 2 Pendulum Animation'); [flag,penanimation] = figflag('Case Study 2 Pendulum Animation'); axis([-3 3 -2 2]); hold on; x=[0 0]; y=[0 -2]; hndlList(1)=plot(x,y,'LineWidth',5,'EraseMode','background'); hndlList(2)=plot(0,0,'.','MarkerSize',25,'EraseMode','back'); set(gca,'DataAspectRatio',[1 1 1]); set(gca,'UserData',hndlList); sys=[0 0 0 2 0 0]; x0=[]; end