系统建模与仿真第次课第五章幻灯片.ppt
系统建模与仿真第次课第五章1第1页,共76页,编辑于2022年,星期一 例例5.5 给定线性系统 ,试求取其传递函数模型。对这个问题,可编写如下的M文件exam55.m A=2,1;-4,0;B=1,0;C=0,1;D=0;sys=ss(A,B,C,D);sys1=tf(sys)2第2页,共76页,编辑于2022年,星期一运行该文件后有 exam55 Transfer function:-4-s2-2 s+43第3页,共76页,编辑于2022年,星期一num,den=ss2tf(A,B,C,D)A=2,1;-4,0;B=1,0;C=0,1;D=0;n,d=ss2tf(A,B,C,D);Sys=tf(n,d)4第4页,共76页,编辑于2022年,星期一5.3.2 由传递函数转变为状态方程由传递函数转变为状态方程 在已知线性定常系统传递函数的情况下,先建立其传递函数模型,然后用MATLAB提供的ss()函数,转变为状态空间模型,即 sys=tf(num,den);sys1=ss(sys);5第5页,共76页,编辑于2022年,星期一 例例5.6 给定线性系统 ,试写出其状态空间表达式。对这个问题,可编写如下的M文件exam56.m num=12,12;den=3,1,11;sys=tf(num,den);sys1=ss(sys)6第6页,共76页,编辑于2022年,星期一运行该文件后有 exam56 a=x1 x2 x1 -0.3333 -1.833 x2 2 0 b=u1 x1 2 x2 07第7页,共76页,编辑于2022年,星期一c=x1 x2 y1 2 1 d=u1 y1 0 Continuous-time model.8第8页,共76页,编辑于2022年,星期一A,B,C,D=tf2ss(num,den)num=12,12;den=3,1,11;A,B,C,D=tf2ss(num,den)z,p,k=ss2zp(A,B,C,D)还有:还有:A,B,C,D=zp2ss(z,p,k)num,den=zp2tf(z,p,k)z,p,k=tf2zp(num,den)9第9页,共76页,编辑于2022年,星期一例例 将系统将系统变换成状态空间表示。变换成状态空间表示。H=tf(2 3 0;1 2 1,1 0.4 1;1 0.4 1)10第10页,共76页,编辑于2022年,星期一5.3.3 由一般状态方程转变为规范型由一般状态方程转变为规范型调用格式如下:G1=canon(G,type);canonical formcompanion 伴随标准型modal Jordan规范型(模态型)11第11页,共76页,编辑于2022年,星期一举例给定系统模型试用MATLAB实现其向两种规范型的转换。12第12页,共76页,编辑于2022年,星期一编写下列M文件:A=-13,0,1;2,-42,0;0,-3,-21;b=0;1;2;c=1,0,2;d=0;G=ss(A,b,c,d);G1=canon(G,companion);G2=canon(G,modal);13第13页,共76页,编辑于2022年,星期一 在MATLAB的工作空间中运行该文件,并键入G、G1、G2可得:Ga=x1 x2 x3 x1 -13 0 1 x2 2 -42 0 x3 0 -3 -21b=u1 x1 0 x2 1 x3 2c=x1 x2 x3 y1 1 0 2d=u1 y1 0Continuous-time model.14第14页,共76页,编辑于2022年,星期一 G1a=x1 x2 x3 x1 0 -6.821e-013 -1.147e+004 x2 1 -2.842e-014 -1701 x3 0 1 -76b=u1 x1 1 x2 0 x3 0c=x1 x2 x3 y1 4 -88 2071d=u1 y1 0 Continuous-time model.15第15页,共76页,编辑于2022年,星期一 G2a=x1 x2 x3 x1 -42.01 0 0 x2 0 -13.03 0 x3 0 0 -20.96b=u1 x1 1.016 x2 -0.2395 x3 1.877c=x1 x2 x3 y1 0.2778 -0.9455 1.86d=u1 y1 0 Continuous-time model.16第16页,共76页,编辑于2022年,星期一5.4 系统根轨迹及频域分析系统根轨迹及频域分析5.4.1 二阶系统的根轨迹二阶系统的根轨迹考虑下面系统-开环模型由开环模型来分析闭环系统的稳定性。闭环模型17第17页,共76页,编辑于2022年,星期一取 ,画出闭环系统极点关于开环增益 的变化曲线根轨迹。闭环系统的特征多项式为:求出极点:18第18页,共76页,编辑于2022年,星期一wn=1;ksai=0.5;K=0:0.005:0.2;c1=(-ksai+sqrt(ksai2-K)*wn;c2=(-ksai-sqrt(ksai2-K)*wn;plot(real(c1),imag(c1),r-);hold on;plot(real(c2),imag(c2),b-);legend(c_1,c_2);19第19页,共76页,编辑于2022年,星期一20第20页,共76页,编辑于2022年,星期一在开环模型中引入一个附加极点 ,其中开环模型取 ,画出闭环系统极点关于开环增益 的变化曲线根轨迹。按照 、分别画根轨迹。21第21页,共76页,编辑于2022年,星期一wn=1;ksai=0.5;a=0.1,0.2,0.5,1;for i=1:1:length(a)G=tf(wn2,conv(1,2*ksai*wn,0,1,a(i);rlocus(G);hold on;end22第22页,共76页,编辑于2022年,星期一23第23页,共76页,编辑于2022年,星期一根轨迹的绘制方法根轨迹的绘制方法R=rlocus(G,K)系统的LTI对象模型用户选择的增益向量根轨迹各个点构成的复数矩阵R,K=rlocus(G)自动生成的增益向量24第24页,共76页,编辑于2022年,星期一rlocus(G)在图形窗口中自动绘出系统的根轨迹K,p=rlocfind(G)求取根轨迹上指定点处的开环增益及相应的闭环极点开环增益闭环极点25第25页,共76页,编辑于2022年,星期一 例例5.7画出下述开环模型的根轨迹图编制程序a=conv(1,1,1,2);b=conv(1,0,a);G=tf(1,b);rlocus(G);K,p=rlocfind(G);26第26页,共76页,编辑于2022年,星期一程序运行结果27第27页,共76页,编辑于2022年,星期一鼠标定位Select a point in the graphics windowselected_point=0.4171+2.2484i28第28页,共76页,编辑于2022年,星期一29第29页,共76页,编辑于2022年,星期一在MATLAB的工作空间中键入K和p KK=20.0636 pp=-3.8399 0.4199+2.2469i 0.4199-2.2469i 30第30页,共76页,编辑于2022年,星期一5.4.2 线性系统的线性系统的Nyquist图图由开环模型来分析闭环系统的稳定性。31第31页,共76页,编辑于2022年,星期一nyquist(G)自动画出自动画出Nyquist图图G开环系统的传递函数 例例5.8画出下述开环系统模型的Nyquist图:re,im,w=nyquist(G)32第32页,共76页,编辑于2022年,星期一a=conv(1,2,1,5);b=conv(1,1,a);G=tf(1000,b);nyquist(G);编写文件33第33页,共76页,编辑于2022年,星期一34第34页,共76页,编辑于2022年,星期一 例例5.9画出下述开环系统模型的Nyquist图:编写文件G=tf(100*conv(1,5,1,5),conv(1,1,1,-1,9);nyquist(G);35第35页,共76页,编辑于2022年,星期一36第36页,共76页,编辑于2022年,星期一5.4.3 线性系统的频域响应模型线性系统的频域响应模型Bode图图Bode(G)自动画出自动画出bode图图 例例5.10画出下述系统的bode图37第37页,共76页,编辑于2022年,星期一编写文件a=conv(1,1,1,2);b=conv(1,0,a);G=tf(1,b);bode(G);grid;38第38页,共76页,编辑于2022年,星期一39第39页,共76页,编辑于2022年,星期一5.5 时滞系统的近似线性模型时滞系统的近似线性模型 Pade近似模型近似模型时滞系统的传递函数往往带有 项,这种模型可以作线性近似处理Pade近似。Pade近似系数40第40页,共76页,编辑于2022年,星期一Pade近似系数表阶阶次次np1p2p3p4p510000021/12000031/101/12000043/281/841/16800051/91/721/10081/30240065/441/661/7921/158401/66528041第41页,共76页,编辑于2022年,星期一函数 pade()求取pade近似的传递函数np,dp=pade(Tau,n)例例5.11求下述时滞系统的近似传递函数不妨取3阶Pade近似,编程如下:42第42页,共76页,编辑于2022年,星期一a,b=pade(1,3);G=tf(a,conv(b,1,1);运行结果Transfer function:-s3+12 s2-60 s+120-s4+13 s3+72 s2+180 s+12043第43页,共76页,编辑于2022年,星期一时滞系统时域响应的数字仿真时滞系统时域响应的数字仿真时滞系统时域时滞系统时域响应的数字仿真响应的数字仿真运用Simulink仿真工具通过pade近似模型进行仿真改进的龙格库塔法状态带有时滞的情况下44第44页,共76页,编辑于2022年,星期一通过pade近似模型对时滞系统的时域响应进行数字仿真 例例5.12画出下述时滞系统的单位阶跃响应曲线不妨取3阶Pade近似,编程如下:45第45页,共76页,编辑于2022年,星期一a,b=pade(0.5,3);c=1,3,4;d=conv(1,1,1,2);e=conv(1,3,1,4);f=conv(d,e);G=tf(conv(c,a),conv(f,b);Gstep(G)46第46页,共76页,编辑于2022年,星期一运行结果Transfer function:-s5+21 s4-172 s3+336 s2+1920 s+3840-s7+34 s6+515 s5+4250 s4+19224 s3+46176 s2+53760 s +23040 47第47页,共76页,编辑于2022年,星期一48第48页,共76页,编辑于2022年,星期一 例例5.13画出下述时滞系统在给定输入信号作用下的时域响应曲线。49第49页,共76页,编辑于2022年,星期一不妨取3阶Pade近似,编程如下:a,b=pade(0.8,3);c=1,5,3;d=conv(1,1,conv(1,4,1,7);G=tf(conv(c,a),conv(d,b);t=0:0.01:5;u=2*cos(3*t-0.75);y=lsim(G,u,t);plot(t,y,b-);hold on;plot(t,u,r-);legend(y,u);50第50页,共76页,编辑于2022年,星期一运行结果51第51页,共76页,编辑于2022年,星期一 现在我们用ode45()功能来求解这个数字仿真问题。为此,首先要将频域模型化成时域模型,根据系统的传递函数可得:52第52页,共76页,编辑于2022年,星期一引入中间变量 :则53第53页,共76页,编辑于2022年,星期一于是在假设零初始条件下取拉氏反变换,可得:54第54页,共76页,编辑于2022年,星期一取下列状态变量:于是很容易得出状态空间模型(时域模型):55第55页,共76页,编辑于2022年,星期一可见,这个时滞出现在系统的输入端,而不是状态时滞。我们不必用改进的4阶龙格库塔法来求解。56第56页,共76页,编辑于2022年,星期一只需用通常的ode45()功能,编写右端函数:function dx=ff_1(t,x)t_tao=t-0.8;if t_tao0 u=0;else u=2*cos(3*t_tao-0.75);enddx(1)=x(2);dx(2)=x(3);dx(3)=-28*x(1)-39*x(2)-12*x(3)+u;dx=dx;57第57页,共76页,编辑于2022年,星期一编写主程序:t,x=ode45(ff_1,0,5,0,0,0);y=3*x(:,1)+5*x(:,2)+x(:,3);u=2*cos(3*t-0.75);plot(t,y,r-);hold on;plot(t,u,b-);legend(y,u);58第58页,共76页,编辑于2022年,星期一运行结果59第59页,共76页,编辑于2022年,星期一5.6 单变量线性系统时域响应的单变量线性系统时域响应的 MATLAB仿真仿真线性系统的时域仿真求解微分方程组RK4方法ode45()function传递函数模型传递函数模型Lsim()60第60页,共76页,编辑于2022年,星期一在上面的程序中出现了线性系统的仿真函数y=lsim(G,u,t);G线性系统的模型y输出序列(向量)u输入序列(向量)t时间序列(向量)长度相等61第61页,共76页,编辑于2022年,星期一lsim(G,u,t);直接画出输出响应曲线 例例5.14假定开环系统的模型为并且系统由单位负反馈结构组成,若系统的输入信号为正弦信号 ,试画出闭环系统的暂态响应曲线。62第62页,共76页,编辑于2022年,星期一-63第63页,共76页,编辑于2022年,星期一编程如下:a=conv(1,10,1,10,50);b=conv(1,0,0,a);G=tf(800,800,b);G_cl=feedback(G,1,-1);t=0:0.01:5;u=3*sin(5*t);lsim(G_cl,u,t);64第64页,共76页,编辑于2022年,星期一运行结果65第65页,共76页,编辑于2022年,星期一Y,T,X=LSIM(SYS,U,T,X0)对于状态空间模型的时域响应,有格式:初始状态向量,省略时默认为零初始状态66第66页,共76页,编辑于2022年,星期一 例例5.15对下列系统的时域响应进行仿真系统的输入信号为下图所示。系统的初始状态为67第67页,共76页,编辑于2022年,星期一输入信号 为脉冲式信号68第68页,共76页,编辑于2022年,星期一编写下列MATLAB文件,以产生序列 u 和 t。t=0:0.01:12;for i=1:1:length(t)if t(i)2&t(i)3&t(i)5&t(i)9&t(i)plot(t,x)运行结果如下图所示,但是这样不宜分析。74第74页,共76页,编辑于2022年,星期一75第75页,共76页,编辑于2022年,星期一本次课内容总结本次课内容总结rlocus(G)nyquist(G)bode(G)ss()tf()时滞模型Pade近似近似单变量线性系统仿真Lsim()76第76页,共76页,编辑于2022年,星期一