【Matlab】笔记(3)——控制系统模型转化

零极点增益模型

>> 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.
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值