控制系统数学模型的matlab仿真,第7章 控制系统的MATLAB仿真

《第7章 控制系统的MATLAB仿真》由会员分享,可在线阅读,更多相关《第7章 控制系统的MATLAB仿真(101页珍藏版)》请在人人文库网上搜索。

1、1,本章主要教学内容在MATLAB中描述控制系统的数学模型系统方框图模型的简化及应用控制系统的时域分析控制系统的频域分析利用MATLAB语言进行仿真编程的具体应用,第7章,控制系统的MATLAB仿真,2,本章教学目的及要求熟悉MATLAB的基本应用掌握利用MATLAB建立数学模型的方法熟悉控制系统的时域和频域分析掌握MATLAB的仿真编程应用,第7章,控制系统的MATLAB仿真,3,7.1控制系统的模型表示MATLAB提供了数学模型的建立函数和各模型之间的转换功能函数,可以分别采用传递函数、零极点增益、状态空间以及动态结构图等4种数学模型来表示控制系统,前3种是用数学表达式描述的系统模型,每种。

2、模型都有连续系统及离散系统两种类别的表示;而动态结构图是基于传递函数的图形化形式,是采用MATLAB中提供的SIMULINK结构图来实现的。MATLAB中使用的数学模型之间的转换也很方便,使得采用MATLAB编制的程序更加简单、精炼而高效。,第7章,控制系统的MATLAB仿真,4,7.1.1系统的传递函数模型表示传递函数模型通常表示线性定常时不变系统(LTI),可以是连续的时间系统,也可以是离散的时间系统。对于离散的时间系统,其脉冲传递函数可表示为:,第7章,控制系统的MATLAB仿真,不论是连续的还是离散的时间系统,其传递函数的分子/分母多项式均按s或z的降幂来排列。在MATLAB中可直接采。

3、用分子/分母多项式系数构成的两个向量num与den来表示系统,即:,5,在MATLAB中,可用函数命令tf()来建立控制系统的传递函数模型,其调用格式和功能分别为:(1)sys=tf(num,den);(2)sys=tf(num,den,Ts);。(3)sys=tf(M);(4)tfsys=tf(sys);,第7章,控制系统的MATLAB仿真,6,第7章,7.1.2零极点增益模型当连续系统的传递函数表达式采用系统增益、系统零点与系统极点来表示时,称之为系统零极点增益模型。系统零极点增益模型是传递函数模型的一种特殊形式。离散系统的传递函数零极点增益模型:,控制系统的MATLAB仿真,7,第7章,。

4、在MATLAB里,连续与离散系统都可直接用向量z、p、k构成的矢量组z,p,k来表示系统,即:,控制系统的MATLAB仿真,8,第7章,在MATLAB中,可用函数命令zpk()来建立控制系统的零极点增益模型,其调用格式和功能分别为:(1)sys=zpk(num,den);(2)sys=zpk(num,den,Ts);(3)sys=zpk(M);(4)tfsys=zpk(sys);,控制系统的MATLAB仿真,9,7.1.3状态空间模型控制系统在主要工作区域内的一定条件下可近似为线性时不变(LTI)模型,连续LTI对象系统总是能用一阶微分方程组来表示,写成矩阵形式即为状态空间模型:,第7章,控制。

5、系统的MATLAB仿真,其中:式(a)系统的状态方程,是由n个一阶微分方程组成的微分方程组;式(b)系统的输出方程,是由1个线性代数方程组成的;,10,第7章,离散系统的状态空间模型可表示为:,控制系统的MATLAB仿真,式中:U系统的控制输入向量;X系统的状态向量;Y系统的输出向量;k特定时刻的采样点;A状态矩阵,由控制对象的参数决定;B控制矩阵;C输出矩阵;D直接传输矩阵。,11,MATLAB中的函数ss()可用来建立控制系统的状态空间模型,或者将传递函数模型与零极点增益模型转换为系统状态空间模型。ss()函数的调用格式为:(1)sys=ss(a,b,c,d);(2)sys=ss(a,b,。

6、c,d,Ts);(3)sys=ss(d);该函数等价于sys=ss(,d)。(4)sys_ss=ss(sys);,第7章,控制系统的MATLAB仿真,12,第7章,【例7.1】已知某系统的状态空间表达式为:,控制系统的MATLAB仿真,试采用MATLAB语言求出该系统的状态空间模型。,13,解:采用状态空间模型表示时,可在MATLAB命令窗口中输入以下命令:A=1000;0100;0010;-1-50-2;B=0;0;0;1;C=3210;D=0;sys=ss(A,B,C,D)上述指令执行后可得指定系统的状态空间模型为:a=x1x2x3x4x11000 x20100 x30010 x4-1-5。

7、0-2,第7章,控制系统的MATLAB仿真,14,第7章,b=u1x10 x20 x30 x41c=x1x2x3x4y13210d=u1y10Continuous-timemodel.,控制系统的MATLAB仿真,15,7.1.4系统不同模型间的相互转换在MATLAB6.1的信号处理工具箱与控制系统工具箱中,提供了传递函数模型、零极点增益模型与状态空间模型之间转换的函数:ss2tf(),ss2zp(),tf2ss(),tf2zp(),zp2ss(),zp2tf()。这些函数之间的转换功能如表7-1所示。,第7章,控制系统的MATLAB仿真,16,第7章,控制系统的MATLAB仿真,表7-1数学。

8、模型之间的转换函数及其功能,17,【例7.2】已知某系统的传递函数为:,第7章,控制系统的MATLAB仿真,试用MATLAB语言求出该系统的传递函数模型、状态空间模型和零极点增益模型。解:(1)求系统的传递函数模型在MATLAB命令窗口输入以下命令:num=12241220;den=24622;sys=tf(num,den),18,第7章,执行以上语句后可得系统的传递函数模型为:12s3+24s2+12s+20-2s4+4s3+6s2+2s+2(2)求系统的状态空间模型该系统的状态空间模型可以通过MATLAB的模型转换函数来完成。在MATLAB命令窗口输入以下命令:a,b,c,d=tf2ss(。

9、num,den);sys=ss(a,b,c,d),控制系统的MATLAB仿真,19,执行完上述语句后,可得系统的状态空间模型的状态矩阵a,系统控制矩阵b,系统输出矩阵c,系统直接传输矩阵d分别为:a=x1x2x3x4x1-2-3-1-1x21000 x30100 x40010,第7章,控制系统的MATLAB仿真,20,第7章,b=u1x11x20 x30 x40c=x1x2x3x4y1612610d=u1y10Continuous-timemodel.,控制系统的MATLAB仿真,21,由以上数据可写出系统的状态空间模型为:,第7章,控制系统的MATLAB仿真,22,第7章,(3)求系统的零极。

10、点增益模型该系统的零极点增益模型也可以通过MATLAB的模型转换函数来完成。在MATLAB命令窗口输入以下命令:z,p,k=tf2zp(num,den);sys=zpk(z,p,k)执行以上语句后可得系统的零极点增益模型为:Zero/pole/gain:6(s+1.929)(s2+0.07058s+0.8638)-(s2+0.08663s+0.413)(s2+1.913s+2.421),控制系统的MATLAB仿真,23,7.2环节方框图模型的化简7.2.1环节串联连接的化简多个环节串联的连接形式是控制系统最基本的组成结构形式之一。控制系统的环节串联及其化简就是模块方框图模型的串联及其化简。可以。

11、用MATLAB的函数命令series()将串联模块进行等效变换。使用series()函数命令不必做多项式的乘除运算即可实现两个环节传递函数的串联连接。如果令sys1=tf(num1,den1),sys2=tf(num2,den2),其命令格式为:sys=series(sysl,sys2),第7章,控制系统的MATLAB仿真,24,如果已知两个环节的状态空间模型矩阵组分别为:(a1,b1,c1,d1)与(a2,b2,c2,d2),则求两个环节串联连接等效系统状态空间模型a,b,c,d矩阵组的命令格式为:a,b,c,d=series(a1,bl,cl,dl,a2,b2,c2,d2)series()。

12、函数命令还可以将多个环节按两两串联的形式多次递归调用加以连接,进行等效化简。s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值