(四)、线性连续系统的Matlab描述
一般来说,线性连续系统
通过拉氏变换可以写成如下传递函数的形式:
, 且
将其进行一定的等价变换,可以得出线性连续系统的零极点模型:
其中zi为线性连续系统的零点,pi为系统的极点,K为系统的增益。
线性连续系统的另外一种模型为状态空间模型。前面已经提到,对于线性连续系统,使用其微分方程很容易推导出系统的状态空间模型。这里给出线性连续系统用状态空间模型进行描述的一般方式:
(1) 线性连续系统的传递函数模型描述。在Matlab中,传递函数表示为
num=[b0, b1,…,bm-1 ,bm]
den=[a0, a1,… ,an-1, an]
g=tf(num,den)
其中num表示传递函数的分子(Numerator)系数向量,den为分母(Denominator)系数向量。
注意,如果给定的分子或分母多项式缺项,则所缺项的系数用0补充。
(2) 线性连续系统的零极点模型描述。在Matlab中,零极点模型表示为
k=K
z=[z1, z2, …,zm]
p=[p1, p2,…,pn]
g=zpk(z,p,k)
其中k表示系统增益(gain),z表示系统零点(zeros),p表示系统极点(poles)。
(3) 线性连续系统的状态空间模型描述。如果系统的状态空间表示为
则在Matlab中直接输入变换矩阵A,B,C,D,然后输入
sys=ss(A, B, C, D)
则建立了名为sys的状态空间模型。
技巧:如果分子或分母多项式是多个因子的乘积,则可以调用MATLAB提供的多项式乘法处理函数conv( )。
【例7】已知系统的传递函数为
试用MATLAB实现以上三种形式的系统模型。
>>num=[12,24,12,20]
>>den=[2,4,6,2,2]
>>g1=tf(num,den) % 传递函数模型
运行结果为:
Transfer function:
12 s^3 + 24 s^2 + 12 s + 20
-------------------------------
2 s^4 + 4 s^3 + 6 s^2 + 2 s + 2
>>g2=zpk(g1) % 零极点模型
运行结果为:
Zero/pole/gain:
6 (s+1.929) (s^2 + 0.07058s + 0.8638)
-------------------------------------------------
(s^2 + 0.08663s + 0.413) (s^2 + 1.913s + 2.421)
>>g3=ss(g1,'min') % 状态空间模型
运行结果为:
a =
x1 x2 x3 x4
x1 -2 -0.75 -0.125 -0.125
x2 4 0 0 0
x3 0 2 0 0
x4 0 0 1 0
b =
u1
x1 4
x2 0
x3 0
x4 0
c =
x1 x2 x3 x4
y1 1.5 0.75 0.1875 0.3125
d =
u1
y1 0
【例8】已知系统的传递函数为
试用MATLAB实现此传递函数。
>>num=4*conv([1,2],conv([1,6,6],[1,6,6]));
>>den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));
>>g=tf(num,den)
程序中的conv( )表示两个多项式的乘法,并且可以嵌套。运行结果为:
Transfer function:
4 s^5 + 56 s^4 + 288 s^3 + 672 s^2 + 720 s + 288
------------------------------------------------------------------
s^7 + 6 s^6 + 14 s^5 + 21 s^4 + 24 s^3 + 17 s^2 + 5 s
(4) 结构图模型
对于传递函数表征的数学模型,其串联、并联合反馈结构可以通过以下操作来实现。设g1和g2是两个控制系统的传递函数,则有:
g=g1*g2 % g1与g2串联后的等效对象为g
g=g1±g2 % g1与g2并联后的等效对象为g
g=feedback(g1, g2, sign)
表示前向通道传递函数为g1,反馈通道传递函数为g2,反馈连接下的等效传递函数为g。sign= -1或省略表示负反馈,sign=1或省略表示正反馈。
例:已知 , ,求 、 串联、并联后的传递函数。
先分别建立 、 的传递函数:
>>num1=[1,1];
>>den1=conv([1,0],[1,2]);
>>g1=tf(num1,den1);
>>num2=[1,0];
>>den2=[1,1,1];
>>g2=tf(num2,den2);
>>g=g1*g2 % 求 、 串联的传递函数
运行结果为
Transfer function:
s^2 + s
-------------------------
s^4 + 3 s^3 + 3 s^2 + 2 s
>>g=g1+g2 % 求 、 并联的传递函数
运行结果为
Transfer function:
2 s^3 + 4 s^2 + 2 s + 1
-------------------------
s^4 + 3 s^3 + 3 s^2 + 2 s
>>g=feedback(g1,g2,-1) % 求以 为前向通道、 为反馈通道,负反馈系统的传递函数
运行结果为
Transfer function:
s^3 + 2 s^2 + 2 s + 1
-------------------------
s^4 + 3 s^3 + 4 s^2 + 3 s
评论