function [sys,x0,str,ts]=animation(t,x,u,flag,ts)
global Hgan; %杆图象句柄
global Hcar; %小车图象句柄
global Hfigure; %整个图象界面句柄
switch flag
case 0
sizes=simsizes; %↑
sizes.NumInputs=4; %↑
sizes.NumOutputs=0; %↑
sys=simsizes(sizes); %↑
%--------------------------------------------------初始化系统
animinit('一级倒立摆');
[flag,Hfigure] = figflag('一级倒立摆');
hold on;
a=[-1 1];
b=[ 0 0];
plot(a,b,'r','LineWidth',3);
%plot(b,a,'r:','LineWidth',1);
a1=[-0.1 0.1 0.1 -0.1 -0.1];
b1=[ 0.1 0.1 -0.1 -0.1 0.1];
Hcar=plot(a1,b1,'b','LineWidth',1);
set(Hcar,'EraseMode','Xor');
Xgan=[0 0];
Ygan=[0 -1];
Hgan=plot(Xgan,Ygan,'k',... %↑
'EraseMode',... %↑
'background',... %↑
'LineWidth',1.5,... %↑
'Marker','o',... %↑
'MarkerSize',2) %↑
set(Hgan,'EraseMode','Xor','MarkerFaceColor','r'); %↑
axis([-1.2 1.2 -1.2 1.2]); %↑
axis square; %↑
%--------------------------------------------------初始化界面
case 2
if any(get(0,'Children')==Hfigure),
if strcmp(get(Hfigure,'Name'),'一级倒立摆'),
x=u(2);
x1=x+sin(u(4));
y1=cos(u(4));
Xgan=[ x x1]; %↑
Ygan=[ 0 y1]; %↑
set(Hgan,'XData',Xgan,'YData',Ygan); %↑
Xcar=[-0.1+x 0.1+x 0.1+x -0.1+x -0.1+x]; %↑
Ycar=[ 0.1 0.1 -0.1 -0.1 0.1]; %↑
set(Hcar,'XData',Xcar,'YData',Ycar); %↑
end %↑
end %↑
%--------------------------------------------重新定位生成动画
end