零极点增益模型
>> s=zpk('s');
>> G=4*(s+5)/((s+1)*(s+2)*(s+6));
>> [z,p,k]=zpkdata(G,'v')
z =
-5.0000
p =
-1.0000
-2.0000
-6.0000
k =
4.0000
>> pzmap(G)
状态空间模型
系统中存在若干个状态信息,称为状态,能够完全描述系统运行的最少数目的一组变量称为系统的状态向量
以n维状态变量为基构成的空间称为n维状态空间
由状态向量表征得模型称为状态空间模型
任何系统都可以用状态空间进行数学描述,状态空间表达式(又称为动态方程),由状态方程和输出方程组成,揭示了系统内部状态对于系统性能的影响
与传递方程不同的是,状态方程描述的是更广的一类控制系统模型,包括非线性系统和时变系统等
具有n个状态、m个输入量,p个输出量的时不变系统,状态空间表达式为
状态向量x(t)是n维的,输入向量是m维,输出向量是p维;
状态矩阵A,又称为系统矩阵,是n*n方阵;
输出矩阵B,又称为控制矩阵,是m*m方阵;
输出矩阵C,是p*p矩阵;
直接传输矩阵D,是p*m矩阵。
离散系统的状态空间模型为:
x(k+1)=Ax(k)+Bu(k)
y(k)=Cx(k)+Du(k)
式中,u,x,y分别为控制输入向量,状态向量,输出向量;
k为采样点,A为状态矩阵,由控制对象的参数决定;
B为控制矩阵;
C为输出矩阵;
D为直接传输矩阵。
ss( )函数用来建立控制系统状态空间模型
连续系统和离散系统模型的建立有所区别
函数用法 | 函数功能说明 |
---|---|
sys=ss(A,B,C,D) | 由A,B,C,D矩阵直接得到连续系统的系统状态空间模型 |
sys=ss(A,B,C,D,Ts) | 由A,B,C,D矩阵和采样时间Ts直接得到离散系统状态空间模型 |
[A,B,C,D]=ssdata(sys) | 得到连续系统参数 |
[A,B,C,D,Ts]=ssdata(sys) | 得到离散系统参数 |
例:将如下系统的状态空间模型输入到MATLAB工作空间中
>> A=[6 5 4;1 0 0;0 1 0];
>> B=[1;0;0]
>> C=[0 6 7 ];
>> D=[0];
>> G=ss(A,B,C,D)
a =
x1 x2 x3
x1 6 5 4
x2 1 0 0
x3 0 1 0
b =
u1
x1 1
x2 0
x3 0
c =
x1 x2 x3
y1 0 6 7
d =
u1
y1 0
Continuous-time model.