《MATLAB7控制系统分析课件》由会员分享,可在线阅读,更多相关《MATLAB7控制系统分析课件(43页珍藏版)》请在金锄头文库上搜索。
1、MATLAB7控制系统分析课件,第八章 MATLAB7控制系统分析,MATLAB7控制系统分析课件,6.1 系统的时域分析,6.1.1 阶跃响应分析 6.1.2 冲激响应分析 6.1.3 任意输入的时域响应分析,MATLAB7控制系统分析课件,例6.1 典型二阶系统如下所示: 绘制出当 时系统的单位阶跃 响应。 解:w=2:2:12;kosai=0.5;figure(1);hold on for wn=w num=wn2; den=1,2*kosai*wn,wn2; step(num,den); end hold off,grid on,title(单位阶跃响应); xlabel(时间);yl
2、abel(振幅);,MATLAB7控制系统分析课件,例6.2 现有一连续二阶系统如下所示: 绘制出系统的单位阶跃响应。 解: A=-0.7524 -0.7268;0.7268 0;B=1 -1;0 2; C=2.8776 8.9463;D=0; sys=ss(A,B,C,D) step(sys);grid on; title(单位阶跃响应);xlabel(时间);ylabel(振幅);,MATLAB7控制系统分析课件,例6.4 已知某二阶系统如下所示: 试求该二阶系统的阶跃响应。 解: num=2 -3.4 1.5; den=1 -1.6 0.8; sys(num,den,0.1) step(
3、sys) dstep(num,den); grid on; title(离散系统阶跃响应); label(时间);ylabel(振幅);,MATLAB7控制系统分析课件,例6.6 某多输入系统如下所示: 试求该二阶系统的单位冲击响应。 解: A=-2.8 -1.5377 0 1.4;1.5377 0 0 0;1 2.6601 -4.8 -4.2136;0 0 4.2136 0; B=4 1;2 0;2 1;0 0;C=1 1 0 3;0 2 0 1;D=0 -2;-2 0; impulse(A,B,C,D);grid on; title(单位冲击响应);xlabel(时间);ylabel(振幅
4、);,MATLAB7控制系统分析课件,例6.7 某离散二阶系统如下所示: 试求该系统的单位冲击响应。 解: A=-1.2 -0.75;0.75 1.075; B=1;1; C=4 3.7505;D=1; sys=ss(A,B,C,D,0.1);impulse(sys) dimpulse(A,B,C,D); grid on; title(离散冲击响应); xlabel(时间);ylabel(振幅);,MATLAB7控制系统分析课件,例6.9 已知某系统如下所示: 以t=0.6为取样周期,将系统转换成离散系统,并求出离散系统的单位阶跃响应、冲击响应和零输入响应(x0=1 1 1 1T)。,MATL
5、AB7控制系统分析课件,解: A1=-1.5 -0.8 0 0;0.8 0 0 0;0.3 0.4 -4.0 -1.25;0 0 -1.25 0; B1=1 0 1 0;C1=1 2 1 2;D1=0;t=0.6; A,B,C,D=c2dm(A1,B1,C1,D1,t,tusin); subplot(2,2,1) dstep(A,B,C,D);grid on;title(离散阶跃响应); xlabel(时间);ylabel(振幅); subplot(2,2,2);dimpulse(A,B,C,D);grid on; title(离散冲击响应);xlabel(时间);ylabel(振幅); su
6、bplot(2,2,3); x0=1 1 1 1;dinitial(A,B,C,D,x0);grid on; title(零输入响应);xlabel(时间);ylabel(振幅); axis(0 6 -0.5 2.5); subplot(2,2,4); z,p,k=ss2zp(A,B,C,D,1),zplane(z,p);grid on; title(离散零极点图);xlabel(实部);ylabel(虚部);,MATLAB7控制系统分析课件,例6.10 对于二阶系统如下所示: 试求出周期为4秒的方波输出响应。 解: u,t=gensig(square,4,10,0.1); H=tf(2 5
7、1,1 2 3);tf(0 1 -1,1 1 5); lsim(H,u,t); grid on; title(周期为4秒的方波输出响应); xlabel(时间);ylabel(振幅);,MATLAB7控制系统分析课件,例6.11 有二阶系统如下所示: 试求出系统对100点随机噪声的响应曲线。 解: num=2 -6.8 3.6; den=3 -4.3 1.75; u=rand(100,1); dlsim(num,den,u); grid on; title(随机噪声响应); xlabel(时间); ylabel(振幅);,MATLAB7控制系统分析课件,例6.12 设一高阶系统开环的传递函数为
8、: 试求出当输入为幅值1的方波信号时系统的输出响应。 解: num=1.064;den=2 -3.685 1.791; u1=ones(1,50),-1*ones(1,50); u=u1,u1,u1; figure(1); dlsim(num,den,u); grid on;title(离散系统仿真); xlabel(时间);ylabel(振幅);,MATLAB7控制系统分析课件,6.2 系统的根轨迹分析,6.2.1 函数指令方式 6.2.2 给予根轨迹的设计工具,MATLAB7控制系统分析课件,例6.13 某离散二阶系统如下: 试绘制该系统的零极点图。 解: n1=0.0001 0.0218
9、 1.0436 9.3599; d1=0.0006 0.0268 0.6365 6.2711; sys=tf(n1,d1); pzmap(sys); p,z=pzmap(sys) title(零极点图); xlabel(实部); ylabel(虚部);,MATLAB7控制系统分析课件,例6.14 某离散二阶系统如下: 试绘制该系统闭环的根轨迹图。 解: n1=0.0001 0.0218 1.0436 9.3599; d1=0.0006 0.0268 0.6365 6.2711; sys=tf(n1,d1); rlocus(sys); title(根轨迹图); xlabel(实部); ylabe
10、l(虚部);,MATLAB7控制系统分析课件,例6.15 已知一个单位反馈系统开环传递函数如下: 试绘制系统闭环的根轨迹图,并在根轨迹图上任选一点,计算该点的增益k,以及所有的极点位置。 解: n1=1; d1=conv(1 0,conv(0.5 1,4 1); s1=tf(n1,d1); rlocus(s1); k,poles=rlocfind(s1) title(根轨迹图); xlabel(实部); ylabel(虚部);,MATLAB7控制系统分析课件,根据上面选择的极点,利用rlocfind(sys,p),可对指定根计算的增益和根矢量p。 n1=1; d1=conv(1 0,conv(
11、0.5 1,4 1); s1=tf(n1,d1); rlocus(s1); k,poles=rlocfind(s1,0.0009+0.7044i) sgrid; title(根轨迹图); xlabel(实部); ylabel(虚部);,MATLAB7控制系统分析课件,6.2.2 基于根轨迹的设计工具 打开根轨迹设计器的指令: rltool rltool(sys) 在MATLAB命令窗口中输入“rltool”后,直接打开系统根轨迹设计器;而rltool(sys)函数执行后则打开系统模型sys带根轨迹图的设计器。,MATLAB7控制系统分析课件,例6.18 已知系统开环传递函数如下: 试用根轨迹设
12、计器来查看该系统在k=31时的闭环阶跃给定响应曲线、Bode图和单位冲击给定响应曲线。 解: n1=1 1; d1=conv(conv(1 0,1 -1),1 4 16); s1=tf(n1,d1); rltool(s1);,MATLAB7控制系统分析课件,6.3 系统的频域分析,6.3.1 频域响应与Nyquist图 6.3.2 Bode图分析 6.3.3 Nichols图,MATLAB7控制系统分析课件,6.3 系统的频域分析 6.3.1 频域响应与Nyquist图 例6.19 系统的闭环传递函数如下: 请画出系统的幅频特性。 解: num=4;den=1 2 4; w=1:0.01:3;
13、 g=freqs(num,den,w); mag=abs(g); plot(w,mag);,MATLAB7控制系统分析课件,例6.20 系统的传递函数如下: 求当K分别取1700和6300时,系统的极坐标频率特性图。 解: k1=1700;k2=6300;w=8:1:80;num1=k1;num2=k2; den=1 52 100 0; figure(1);nyquist(num1,den,w);grid on title(Nyquist曲线图);xlabel(实数轴);ylabel(虚数轴); figure(2);nyquist(num2,den,w);grid on title(Nyqui
14、st曲线图);xlabel(实数轴);ylabel(虚数轴);,MATLAB7控制系统分析课件,例6.22 已知离散系统: 绘制出系统的Nyquist曲线,判别闭环系统的稳定性,并绘制出闭环系统的单位冲激响应。 解: num=0.692;den=1 -1.758 0.375; z,p,k=tf2zp(num,den); p figure(1);dnyquist(num,den,0.1); title(离散Nyquist曲线图);xlabel(实数轴);ylabel(虚数轴); figure(2);num2,den2=cloop(num,den); dimpulse(num2,den2);tit
15、le(离散冲击相应曲线); xlabel(时间);ylabel(幅值);,MATLAB7控制系统分析课件,6.3.2 Bode图分析 例6.23 有典型二阶系统求取不同值时的Bode图。 解: wn=7;kosai=0.1:0.3:2.0; w=logspace(-1,1,100);figure(1);num=wn2; for kos=kosai den=1 2*kos*wn wn2; mag,pha,w1=bode(num,den,w); subplot(2,1,1); hold on; semilogx(w1,mag); subplot(2,1,2); hold on; semilogx(
16、w1,pha); end subplot(2,1,1);grid ontitle(Bode图); xlabel(频率 (rad/sec);ylabel(增益 (dB); subplot(2,1,2);grid on,xlabel(频率 (rad/sec); ylabel(相位 (deg);hold off;,MATLAB7控制系统分析课件,例6.24 系统传递函数模型为: 求出有理传递函数的频率响应,然后在同一张图上绘出以四阶Pade近似表示的系统频率响应。 解:Pade近似可以表示e的指数次幂,MATLAB代码如下: num=1 1;den=conv(1 2,conv(1 2,1 2); w=logspace(-1,2);t=0.5;m1,p1=bode(num,den,w); p1=p1-t*w*180/pi;n2,d2=pade(t,4); numt=conv(n2,num);dent=conv(den,d2); m2,p2=bode(numt,dent,w); subplot(2,1,1);semilogx(w,20*log(10*m1),w,20*log(10*m2),r-)