控制系统的数学模型

控制系统的数学模型

一.数学模型的建立

在线性系统中,常用的数学模型有传递函数模型零极点模型以及状态空间模型

(1)传递函数模型

传递函数的一般形式

G ( s ) = C ( s ) R ( s ) = b 0 s m + b 1 s m − 1 + ⋯ + b m − 1 s + b m a 0 s n + a 1 s n − 1 + ⋯ + a n − 1 s + a n G(s)=\frac{C(s)}{R(s)}=\frac{b_{0} s^{m}+b_{1} s^{m-1}+\cdots+b_{m-1} s+b_{m}}{a_{0} s^{n}+a_{1} s^{n-1}+\cdots+a_{n-1} s+a_{n}} G(s)=R(s)C(s)=a0sn+a1sn1++an1s+anb0sm+b1sm1++bm1s+bm

函数调用格式
sys=tf(num,den);		
  • tf–transfer function(传递函数模型)
  • num–numerator(传递函数分子的多项式系数向量) 一定要降幂排列,缺项补零!
  • den–denominator(传递函数分母的多项式系数向量)同上
实例

​ 请构建如下传递函数
G ( s ) = 7 s 2 + 8 s + 1 9 s 3 + 8 s 2 + 3 s + 1 G(s)=\frac{7s^2+8s+1}{9s^3+8s^2+3s+1} G(s)=9s3+8s2+3s+17s2+8s+1

num=[7 8 1];
den=[9 8 3 1];
sys=tf(num,den)

​ 拓展:(结合卷积函数conv构建多项式—适用于未展开且比较复杂的多项式)

​ 请构建如下传递函数
G ( s ) = ( s + 1 ) ( 7 s + 1 ) ( 3 s + 1 ) ( 2 s + 1 ) ( 7 s + 1 ) G(s)=\frac{(s+1)(7s+1)}{(3s+1)(2s+1)(7s+1)} G(s)=3s+1)(2s+1)(7s+1)(s+1)(7s+1)

num=conv([1,1],[7,1]);
den=conv(conv([3 1],[2,1]),[7,1]);
sys=tf(num,den)

(2)零极点模型

零极点式一般形式

G ( s ) = C ( s ) R ( s ) = K ∗ ( s − z 1 ) ( s − z 2 ) ⋯ ( s − z j ) ( s − z m ) ( s − p 1 ) ( s − p 2 ) ⋯ ( s − p i ) ( s − p n ) G(s)=\frac{C(s)}{R(s)}=K^*\frac{\left(s-z_{1}\right)\left(s-z_{2}\right) \cdots\left(s-z_{j}\right)\left(s-z_{m}\right)}{\left(s-p_{1}\right)\left(s-p_{2}\right) \cdots\left(s-p_{i}\right)\left(s-p_{n}\right)} G(s)=R(s)C(s)=K(sp1)(sp2)(spi)(spn)(sz1)(sz2)(szj)(szm)

  • z1,z2,…,zm为系统的m个零点,p1、p2、…pn为系统的n个极点, K ∗ K^* K称为根轨迹增益

  • 零极点式等价于首一式,对应根轨迹增益;而相对应于尾一式(典型环节),对应开环增益

    尾一式的数学表达如下
    G ( s ) = K ( τ 1 s + 1 ) ( τ 2 2 s 2 + 2 ζ 1 τ 2 s + 1 ) ⋯ ( τ l s + 1 ) s ν ( T 1 s + 1 ) ( T 2 2 s 2 + 2 ζ 2 T 2 s + 1 ) ⋯ ( T j s + 1 ) G(s)=\frac{K\left(\tau_{1} s+1\right)\left(\tau_{2}^{2} s^{2}+2 \zeta_{1} \tau_{2} s+1\right) \cdots\left(\tau_{l} s+1\right)}{s^{\nu}\left(T_{1} s+1\right)\left(T_{2}^{2} s^{2}+2 \zeta_{2} T_{2} s+1\right) \cdots\left(T_{j} s+1\right)} G(s)=sν(T1s+1)(T22s2+2ζ2T2s+1)(Tjs+1)K(τ1s+1)(τ22s2+2ζ1τ2s+1)(τls+1)
    其中K为开环增益,v为系统型别

函数调用格式
sys=zpk(z,p,k);
  • z(zero)–由零点构成的向量
  • p(polar)–由极点构成的向量
  • k–根轨迹增益
实例

​ 请构造如下传递函数
G ( s ) = 20 ( s + 1 ) ( s + 2 ) ( s + 4 ) ( s + 5 ) ( s + 6 ) G(s)=\frac{20(s+1)(s+2)}{(s+4)(s+5)(s+6)} G(s)=(s+4)(s+5)(s+6)20(s+1)(s+2)

z=[-1 -2];
p=[-4 -5 -6];
k=20;
sys=zpk(z,p,k)

二.数学模型的转换

零极点形式和传递函数一般形式之间可以相互转换

(1)零极点到传递函数

函数调用格式
[num,den]=zp2tf(z,p,k);
  • 一定注意函数名不是 zpk2tf !!!
实例

​ 将如下零极点格式模型转化为传递函数标准形式
G ( s ) = 20 ( s + 1 ) ( s + 2 ) ( s + 4 ) ( s + 5 ) ( s + 6 ) G(s)=\frac{20(s+1)(s+2)}{(s+4)(s+5)(s+6)} G(s)=(s+4)(s+5)(s+6)20(s+1)(s+2)

z=[-1;-2];  %此处的z一定是一个列向量。感觉以后也记不住,可以记忆个大概结合报错来修改自己的程序
p=[-4 -5 -6];
k=20;
[num,den]=zp2tf(z,p,k)

(2)传递函数到零极点

函数调用格式
[z,p,k]=tf2zp(num,den);
  • 一定注意函数名不是 tf2zpk !!!
实例

​ 将如下传递函数标准形式转化为零极点格式模型
G ( s ) = 20 s 2 + 60 s + 40 s 3 + 15 s 2 + 74 s + 120 G(s)=\frac{20s^2+60s+40}{s^3+15s^2+74s+120} G(s)=s3+15s2+74s+12020s2+60s+40

num=[20 60 40];
den=[1 15 74 120];
[z,p,k]=tf2zp(num,den);

运行之后就会发现(1)和(2)的实例中的模型是一致的

三.数学模型的连接

数学模型经过连接便可以构成控制系统的结构图,如何用matlab实现语句的连接便显得格外重要

按照连接方式,可以分为如下几类

image-20211221171413547

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值