控制理论基础教程一基于MATLAB语言Pole-Zero Map0.974.0.9450.9.0.820.660.40.80.990.60.0.997o0.2Cuel0.2De-0.4 :0.997-0.60.9g-0.80.974-0.945-0.90.820.660.4-4.5-25-2-1.5-0.55-d-3.5-3RealAxis (seconds-)图1-1系统零极点图2.系统模型的连接在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、并联连接和反馈连接。图1-2分别为串联连接、并联连接和反馈连接的结构框图和等效总传递函数。G(s)U(s)Y(s)U(s)Y(s)G,(s)G(s)CG(s)G(s)=G,(s)G,(s)G(s)=G,(s)+G,(s)(a)串联系统(b)并联系统Y(s)U(s)G(s)H(s)G(s)T(s)=1+G(s)H(s)(c)反馈连接图1-2串联连接、并联连接和反馈连接5
控制理论基础教程—基于 MATLAB 语言 5 图 1-1 系统零极点图 2. 系统模型的连接 在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连 接、并联连接和反馈连接。图 1-2 分别为串联连接、并联连接和反馈连接的结构框图和等效 总传递函数。 U(s) Y(s) ( ) 1 G s ( ) 2 G s ( ) ( ) ( ) 2 1 G s G s G s ( ) 2 G s ( ) 1 G s U(s) Y(s) ( ) ( ) ( ) 1 2 G s G s G s (a)串联系统 (b)并联系统 1 ( ) ( ) ( ) ( ) G s H s G s T s U(s) H (s) G(s) Y(s) (c)反馈连接 图 1-2 串联连接、并联连接和反馈连接
控制理论基础教程一基于MATLAB语言在MATLAB中可以直接使用“*”运算符实现串联连接,使用“+”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback实现,调用格式如下:T= feedback(G,H)T= feedback(G,H,sign)其中,G为前向传递函数,H为反馈传递函数;当sign=+1时,GH为正反馈系统传递函数;当sign=-1时,GH为负反馈系统传递函数;默认值是负反馈系统。例E2-3两个系统串联,试用MATLAB求此串联系统的传递函数,已知两个系统传递函数分别为s+33s2 + s+ 4G,(s) =G2(s)=(s +1)(s + 2)5s2+12s+3解:首先分别建立两个系统的传递函数模型:>> numl =[1 3];>> den1 = conv([1 1],[1 2];%使用conv命令实现多项式相乘%创建G1(s)描述的传递函数模型>>G1=tf(numl,denl)Transfer function:$+3s2+3s+2>> num2 =[3 1 4];>> den2 =[5 12 3];>>G2=tf(num2,den2)%创建G2(s)描述的传递函数模型Transfer function:3 s2+s+45s/2+12 s+3使用“*”运算符实现串联连接:>> G=G2*G1运行结果为:Transferfunction:3 s^3 +10 s^2 + 7 s + 125s4+27s3+49s/2+33s+66
控制理论基础教程—基于 MATLAB 语言 6 在 MATLAB 中可以直接使用“*”运算符实现串联连接,使用“+”运算符实现并联 连接。反馈系统传递函数求解可以通过命令 feedback 实现,调用格式如下: T = feedback(G,H) T = feedback(G,H,sign) 其中,G 为前向传递函数,H 为反馈传递函数;当 sign = +1 时,GH 为正反馈系统传递 函数;当 sign = -1 时,GH 为负反馈系统传递函数;默认值是负反馈系统。 例 E2-3 两个系统串联,试用 MATLAB 求此串联系统的传递函数,已知两个系统传递 函数分别为 1 2 3 ( ) 1 s s s G s 5 12 3 3 4 ( ) 2 2 2 s s s s G s 解:首先分别建立两个系统的传递函数模型: >> num1 = [1 3]; >> den1 = conv([1 1],[1 2]); %使用 conv 命令实现多项式相乘 >> G1=tf(num1,den1) %创建 G1(s)描述的传递函数模型 Transfer function: s + 3 - s^2 + 3 s + 2 >> num2 = [3 1 4]; >> den2 = [5 12 3]; >> G2 = tf(num2,den2) %创建 G2(s)描述的传递函数模型 Transfer function: 3 s^2 + s + 4 - 5 s^2 + 12 s + 3 使用“*”运算符实现串联连接: >> G = G2*G1 运行结果为: Transfer function: 3 s^3 + 10 s^2 + 7 s + 12 - 5 s^4 + 27 s^3 + 49 s^2 + 33 s + 6
控制理论基础教程一基于MATLAB语言三、实验内容1已知控制系统的传递函数如下2s2+18s+40G(s) =s3+5s2+8s+6试用MATLAB建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。2.已知控制系统的状态空间方程如下To100000010x=200001-1-2-3-4y=[10 2 0 0]x试用MATLAB建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。3.已知三个系统的传递函数分别为2s2+6s+5G,(s)=s3+4s?+5s+2s?+4s+1G,(s)=$+9s2+8s5(s + 3)(s +7)G,(s)=(s+1)(s+ 4)(s+6)试用MATLAB求上述三个系统串联后的总传递函数。4.已知如图E2-1所示的系统框图+Y(s)U(s)X0.5s+110.5s+1图E2-1试用MATLAB求该系统的闭环传递函数。7
控制理论基础教程—基于 MATLAB 语言 7 三、实验内容 1. 已知控制系统的传递函数如下 5 8 6 2 18 40 ( ) 3 2 2 s s s s s G s 试用 MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并 绘制系统零极点图。 2. 已知控制系统的状态空间方程如下 y x x x u 10 2 0 0 1 0 0 0 1 2 3 4 0 0 0 1 0 0 1 0 0 1 0 0 试用 MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并 绘制系统零极点图。 3. 已知三个系统的传递函数分别为 4 5 2 2 6 5 ( ) 3 2 2 1 s s s s s G s s s s s s G s 9 8 4 1 ( ) 3 2 2 2 ( 1)( 4)( 6) 5( 3)( 7) ( ) 3 s s s s s G s 试用 MATLAB 求上述三个系统串联后的总传递函数。 4. 已知如图 E2-1 所示的系统框图 U(s) Y(s) 1 1 s 0.5 1 1 s 0.5 1 1 s s 3 图 E2-1 试用 MATLAB 求该系统的闭环传递函数