📄 ex10_28.m
字号:
% ex10_28
% 控制器放大系数变化对系统输出响应影响的动画
f1=figure('name','控制器增益变化时的输出响应曲线','NumberTitle','off',...
'Menubar','none','resize','off','pos',[50 50 450 300],'color','w');
open_system('order12');
set_param('order12/R(s)','After','1');
set_param('order12/F(s)','After','0');
set_param('order12/Gp(s)/Transfer Fcn1','Numerator','1');
set_param('order12/Gp(s)/Transfer Fcn1','Denominator','[10 1]');
tor=3;tors=num2str(tor);
set_param('order12/Gp(s)/DT','Delaytime',tors);
set_param('order12/PID','Ti','100000');
open_system('order12/SC');
step1=0.1;
finalt=50;
ZZ(finalt/step1+1,10)=0;
for i=1:10;
kc=0.4*i;
yy=num2str(kc);
set_param('order12/PID','Kc',yy);
Op=simset('solver','ode4','fixed',step1);
[t,x,y]=sim('order12',[0 finalt],Op);
ZZ(:,i)=x(:,1);
end;
[r,s]=size(ZZ');
ss=tor/step1;
axes('pos',[0.15,0.15,0.7,0.7]);
A(1:10,1:s)=0;
A(1:10,ss+1:s)=ZZ(1:s-ss,1:10)';
A=A/10;
tt=0:step1:finalt;
yt=.4:.4:4;
[X,Y]=meshgrid(tt,yt);
axis([0 finalt 0 4 0 1.4]);
surf(X,Y,A);
view(-10,20);
axis on;
brighten(0.5)
set(gca,'ydir','reverse');
colormap jet;
shading flat;
xlabel('Time');
ylabel('Kc');
zlabel('Output');
M=moviein(20);
map=colormap;
for ii=1:20;
view(-10+ii/2,20-ii);
M(:,ii)=getframe;
end;
movie(M,-3,20);
plot(t,A);
grid;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -