举例: 传递函数: ?12s3?24s2G(s)?20 2s4?4s3?6s2?2s?2输入:
>>num=[12,24,0,20];den=[2 4 6 2 2]; sys=tf(num,den)
显示:
12 s^3 + 24 s^2 + 20
------------------------------- 2 s^4 + 4 s^3 + 6 s^2 + 2 s + 2 2.2模型的连接
2.2.1并联:parallel 格式:
[num,den]=parallel(num1,den1,num2,den2)
? %将并联连接的传递函数进行相加。 举例: 传递函数:
G1(s)?3s?4G2(s)?2s?4s2?2s?3 输入:
>> num1=3; >> den1=[1,4];
>> sys1=tf(num1,den1) >> num2=[2,4]; >> den2=[1,2,3];
>> sys2=tf(num2,den2)
>> sys=parallel(sys1,sys2) num=[5 18 25]; den=[1 6 11 12];
[z,p,k]=tf2zp(num,den) sys=zpk(z,p,k)
显示:
5 s^2 + 18 s + 25 -----------------------
s^3 + 6 s^2 + 11 s + 12
Zero/pole/gain:
4
50 (s+1.4)
------------------------------------------ s (s+3.819) (s+2) (s^2 + 0.1809s + 1.309)
2.2.2串联:series 格式:
[num,den]=series(num1,den1,num2,den2)
? %将串联连接的传递函数进行相乘。 2.2.3反馈:feedback 格式:
[num,den]=feedback(num1,den1,num2,den2,sign)
? %将两个系统按反馈方式连接,系统1为对象,系统2为反馈控制器,系统和闭环
系统均以传递函数的形式表示。sign用来指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign= -1。总系统的输入/输出数等同于系统1。
2.2.4闭环:cloop(单位反馈) 格式:
[numc,denc]=cloop(num,den,sign)
? %表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同。
2.3.传递函数模型——零极点增益模型 零极点增益模型为:
G(s)?K(s?z1)(s?z2)...(s?zm)
(s?p1)(s?p2)...(s?pn)其中:K为零极点增益,zi为零点,pj为极点。 该模型 在MATLAB中,可用[z,p,k]矢量组表示,即 z=[z1,z2,…,zm]; p=[p1,p2,...,pn]; k=[K];
然后在MATLAB中写上零极点增益形式的传递函数模型建立函数:
sys=zpk(z,p,k)。这个零极点增益模型便在MATLAB平台中被建立,并可以在屏幕上显示出来。 举例:已知系统的零极点增益模型:
6(s?3)G(s)?
(s?1)(s?2)(s?5)在MATLAB命令窗口(Command Window)键入以下程序: >> z=[-3];p=[-1,-2,-5];k=6; >> sys=zpk(z,p,k)
5
回车后显示结果: Zero/pole/gain: 6 (s+3)
----------------- (s+1) (s+2) (s+5)
则在MATLAB中建立了这个零极点增益的模型。
传递函数有理式转换成零极点增益模型:[z,p,k]=tf2zp(num,den)
2.4.状态空间模型
状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,如下:
??Ax?Bux
y?Cx?Du
则在MATLAB中建立状态空间模型的程序如下: >> A=[A]; >> B=[B]; >> C=[C]; >> D=[D]; >> sys=ss(A,B,C,D)
2.5、系统复杂连接时等效的整体传递函数的求取
1.用Siumlink软件实现传递函数的求取
Siumlink软件是基于Windows的模型化图形输入的仿真软件,是MATLAB软件的拓展,在Siumlink环境下输入系统的方框图则可以方便的得到其传递函数。
⑴ 系统方框图的输入
① 在MATLAB命令窗口中输入simulink,出现一个称为Simulink Library Browser的
窗口,它提供构造方框图(或其他仿真图形界面)的模块;
② 在MATLAB主窗口对File\\New\\Model操作,打开模型文件窗口,在此窗口上,构造方框图。
6
③ 以下面的系统为例,介绍构造方框图的各模块录入方法和设置方法。
图中,G1?1464s?141 G2? G3? G4? G5? G6?
sss?12s?13s5s?1◇ 录入各传递函数方框
7
在Simulink Library Browser的窗口打开Simulink→Continuous子库,将Transfer Fcn模块复制到(拽到)模型文件窗口,共复制6个方框,分别放到相应位置。传递函数是积分环节的,也可以复制Integrator模块
◇ 录入相加点
在Simulink Library Browser的窗口打开Simulink→Math子库,将Sum模块复制到(拽到)模型文件窗口,共复制复制到(拽到)模型文件窗口,共复制3个相加点,分别放到相应位置。
◇ 录入输入点与输出点标记
打开Simulink→Sources子库,将In1模块(输入点)复制到(拽到)模型文件窗口,放到相应位置。
打开Simulink→Sinks子库,将Out1模块(输出点)复制到(拽到)模型文件窗口,放到相应位置。
◇ 连接各方框(环节)
在模型文件窗口上,按箭头方向从起点到终点按住鼠标左键,连接方框。
传递函数方框有信号的入点和出点标记,画图不方便时,可以修改原来的方向,右键点击方框,在出现的浮动菜单上,作如下选择,即可实现方框旋转。
8