自控实验仿真部分(7)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用MATLAB 处理系统数学模型
1模型建立
对简单系统的建摸可直接采用基本模型—传递函数。但实际中经常遇到几个简单系统组合成为一个复杂系统。常见形式为,并联、串联、闭环及反馈等连接。
并联
将两个系统按并联方式连接,在MATLAB 中可用parallel 函数实现。 例1两个子系统为
43
)(1+=
s s G 324
2)(22+++=s s s s G
将两个系统按并联方式连接,可输入 num1=3; den1=[1,4]; num2=[2,4]; den2=[1,2,3];
[num ,den]=parallel (num1,den1,num2,den2) 则得
num= 0 5 18 25 den= 1 6 11 12 因此
12
11625
185)()()(23221+++++=+=s s s s s s G s G s G
串联
将两个系统按串联方式连接,在MATLAB 中可用series 函数实现。例如
[num ,dem]=series (num1,den1,num2,den2)可得到串联连接的传递函数形式)
(2)(1)
(2)(1)()()()(21s den s den s num s num s G s G s den s num ==
1.闭环
将系统通过正负反馈连接成闭环系统,在MATLAB 中可用cloop 函数实现。例如[numc ,demc]=cloop (num ,den ,sign )表示由传递函数表示的开环传递函数构成闭环系统。当sign=1时采用正反馈;当sign=-1时采用负
反馈;sign 缺省时,默认为负反馈。)
()()
()(1)()()(s num s den s num s G s G s denc s numc =
= 2.反馈
将两个系统按反馈方式连接成闭环系统,在MATLAB 中可用feedback 函数实现。 例2-两个子系统为
321
52)(22++++=s s s s s G
10
)
2(5)(++=
s s s H
将两个系统按反馈方式连接,可输入 numg=[2 5 1]; deng=[1 2 3]; numh=[5 10]; denh=[1 10];
[num ,den]=feedback (numg ,deng ,numh ,denh ) 执行后得
num= 2 25 51 10 den= 11 57 78 40
因此,闭环系统的传递函数为 40
78571110
51252)()()(2
323++++++==s s s s s s s den s num s G c
2 MATLAB在时域分析中的应用
2.1 时域分析中常用的MATLAB函数
1.step()函数求取系统阶跃响应
若已知控制系统的传递函数错误!未找到引用源。,则step 函数的调用格式有如下几种:step(num,den)
时间向量t的范围自动设定,即显示求取结果窗口中的时间轴长度由系统自动设定,单位阶跃响应曲线随即绘出。step(num,den,t)
通过调整t的取值来调节所要求取结果中时间向量的范围。
[y, x]=step(num,den)
返回的变量y为输出向量,x为状态向量。
F=step(G)
仿真结果将随着向量F返回MATLAB 工作区。如果要查看响应曲线,可以通过plot( )函数来实现。
2. impulse( )求控制系统的单位脉冲响应
impulse(num,den)
num 和den 分别为系统传递函数描述中的分子和分母多项式系数,时间向量t 的范围自动设定,单位脉冲响应曲线随即绘出
impulse(num,den,t)
num 和den 分别为系统传递函数描述中的分子和分母多项式系数,时间向量t 的范围可以由人工给定,例如,t=0:1:10。
3.lsim()求任意输入下的响应
lsim(sys,u,t)
sys是控制系统模型,u任意的输入函数。
4.feedback()求典型反馈系统传递函数
典型反馈系统如图3-34所示,
图3-34 典型反馈系统
feedback()函数求反馈系统闭环传递函数,调用格式为
G=feedback(G1,G2,sign)
其中变量sign 用来表示反馈类型,除非明确指出sign=1,否则默认状态或令sign= -1,均表示系统为负反馈系统。
5.roots()函数求解系统的特征根
roots()函数调用格式为R=roots(den)。其功能是求解多项式的根,其中,den 为多项式系数向量,R 为系统计算后返回的根。
6.pzmap()函数绘制控制系统零极点图
pzmap()函数是用来绘制控制系统零极点的函数,按绘制零极点形式的不同,其调用格式有以下两种。[p,z] = pzmap(num,den)
其功能是在复平面内绘制出以传递函数表示的系统零极点图。
[p,z] = pzmap(p,z)
其功能是在复平面内绘制零极点图,其中列向量p 为极点位置,列向量z 为零点位置。
7. 求取系统稳态值的dcgain( )函数
对应于三种误差系数,可以分别调用如下格式
Kp=dcgain(num,den); %求位置误差系数
Kv=dcgain([num 0] ,den); %求速度误差系数
Ka=dcgain([num 0 0] ,den); %求加速度误差系数
2.2 时域分析中的应用
例3-14 已知控制系统的传递函数为
试用step( )函数求其阶跃响应。