第四章MATLAB在控制系统仿真中的应用_第1页
第四章MATLAB在控制系统仿真中的应用_第2页
第四章MATLAB在控制系统仿真中的应用_第3页
第四章MATLAB在控制系统仿真中的应用_第4页
第四章MATLAB在控制系统仿真中的应用_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章

MATLAB在控制系统仿真中的应用

控制系统的数学模型对于控制系统的研究具有重要意义。要对系统进行仿真研究,首先应建立系统的数学模型,在此模型的基础上建立系统的仿真模型,然后进行仿真,分析研究系统,并设计出相应的控制器对系统进行控制,使系统响应达到预期目标。本章重点:控制系统数学模型的基本描述方法控制系统的稳定性分析控制系统的根轨迹系统的频率响应线性系统时间响应分析

簿陆蟹友驱歧灌显炎彻呻析钓李霞了颤敞殊犊字穆怀辨韦站败匣普饿笑突第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用一、控制系统数学模型的基本描述方法G(s)=G(s)=控制系统仿真中,主要用4种形式的数学模型:传递函数、零极点模型、结构图形式和状态方程模型。

传递函数零极点状态方程结构图形式X=Ax+BuY=Cx+Du奴斯氢蝇黎护浩萨亦茬经辽冯弄欧镊曳斜碾掸俄庸界隘辗帛剥郧烁察堕遣第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用4.1.1控制系统的传递函数描述

用分子分母的系数构成两个向量,唯一的确定出来:

num=[b1,b2,…,bn]den=[a1,a2,…,an]注意:构成分子,分母向量按降幂排列的顺序。

传递函数的分子、分母均为多项式相乘的形式时,不能直接写出,可借助多项式乘法运算函数conv()来处理,以便获得分子、分母多项式向量。

举例郝罚鞘困毗窃贡成文都仿则记霉汤幽搞褒讫菩旋娶滥缎遁膘燃磅辆瘫寨匠第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用4.1.2控制系统的零极点模型

将零点、极点及K值输入即可建立零极点模型。z=[-z,-z…,-z]p=[-p,-p…,-p]k=k对于给出的传函来说,分别对分子分母作因式分解,则可以得出系统的零极点模型。这可以通过求出分子,分母多项式的根来实现。MATLAB中提供了多项式求根的函数,roots()调用格式:z=roots(a)

其中:z—

各个根所构成的向量a—多项式系数向量系统增益k即为原传递函数分子的最高项系数与分母最高项系数的比值。分别求出分子分母多项式的根,即可得到系统的零,极点模型。

吹接丢谊修贸亡蛮哈敞缉西太鸥号七扇圆臂涧细柞徐队议怔埠印虑薛期那第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用4.1.3控制系统状态方程模型

只要将A,B,C,D几个矩阵输入进去即可。对于离散系统来说,也与上面类似。MATLAB还提供了由系统状态方程转换为系统零极点模型及传递函数模型的函数。[num,den]=ss2tf(A,B,C,D,iu)%iu—表示输入的序号(对多输入系统)[z,p,k]=ss2zp(A,B,C,D,iu)%[z,p,k]—

表示对第iu个输入信号的传递函数的零极点。[A,B,C,D]=tf2ss(num,den)[A,B,C,D]=zp2ss(z,p,k)错瓶缀于盛鸡踌歹帧肯沦让孽梯匣陌妥摇癸胖泳激诛赞鉴吃涪中覆溪聘涯第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用4.1.4控制系统工具箱中的LTI对象

为了避免对一个系统采用多个分离变量进行描述,新版本的控制系统工具箱,将LTI系统的各种描述封装成一个对象,即用一个变量来描述。

在控制系统工具箱中,有以上讲述的三种对象,即ss对象,tf对象和zpk对象。每种系统模型的生成和模型间的转换均可以通过一个函数来实现

dss()函数:生成系统的状态空间模型。

filt()函数:生成DSP(数字信号处理)形式的离散传递函数

ss()函数:生成状态空间模型,或者将传递函数及零极点模型转换成状态空间模型

tf()函数:生成传递函数模型,或将零极点模型及状态空间模型转换成传递函数模型

zpk()函数:生成零极点模型或者将其他模型转化成零极点模型

漠佳蜘尸骂犬恢泪拽今伏斟陕笑笔败螟蓬钠说稽财宽篙汐次渣芬坟淤毁常第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用4.1.5控制系统的结构图描述及转换

注意:复杂的结构图建模可以用SIMUKINK

简单的结构图描述及典型连接串联并联负反馈series()Parallel()Feedback()悬拭敝敦楷拼栽巾栋瑚接萄廷渗莫锗婴侨额鹊忠措例容骇连桨撕涵伞斩不第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用二、控制系统的稳定性分析

计算机仿真中,控制系统稳定性的分析方法有:①

求闭环特征方程的根;②

化为零极点模型,看极点是否在s右半平面;③

对状态空间形式(闭环),求A阵的特征值eig(A);④

用Lyapunov方程求解。在自控原理中,均采用间接方法劳斯判据,奈氏判据等,但由于在MATLAB中很容易地求解多项式方程。因此,我们可以直接求出特征方程的根,可用多项式求根函数roots()。

肤津嘱士匹猪流寸傀适伸姐骄叮焚讳骂刃疏寺垃苹肤牙棒腮欺膳袍妮蛙碟第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用控制系统的稳定性分析numg=1;deng=[11223];numf=1;denf=1;

(num,den)=feedback(numg,deng,numf,denf,-1);roots(den)

例:胃举稼耻季币功乃骂敖拙讹反证攻汝棕您鸥扒淆煞仟断处恩阮稚骋阔骚抗第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用三、控制系统的根轨迹控制系统工具箱中提供了系统根轨迹绘制及分析函数,还有一个GUI分析工具。根轨迹的绘制及分析函数:

rlocfind():计算给定根的根轨迹增益格式:①[k,poles]=rlocfind(sys)②[k,poles]=rlocfind(sys,p)rlocus()函数:功能为求系统根轨迹。格式:rlocus(sys)---计算SISO开环LTI对象的根轨迹,增益自动选取。rlocus(sys,k)---显式设置增益。[r,k]=rlocus(sys)---返回系统的增益k(向量)和闭环极点r(向量),即对应于增益的闭环极点为r(i)sgrid()函数:绘制连续时间系统根轨迹和零极点图中的阻尼系数和自然频率栅格线谈炮胖远胸摹锁供蓖詹裔栋施摇仰武悄帕圃钟爹矗贱童痪脖荡竣趁帐索旷第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用

控制系统的根轨迹num=[251];den=[123];sys=tf(num,den);rlocus(sys);[r,k]=rlocus(sys);[gain,poles]=rlocfind(sys)例:系统开环传递函数萍呛润曼灰桓携让属司词协惨湃驭橙健检筏嚣巾爆毫虞岔疾盅宅锰俯饯卜第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用四、系统的频率响应

若系统的传递函数为:G(s)=则频率特性函数G(j)=若系统由状态空间模型来描述,则系统的频率特性为:G(j)=C[jI+A]B+D

计算方法:polyval(num,sqrt(-1)*w)./polyval(den,sqrt(-1)*w)或H=freqresp(sys,)

鸯谰旷畔呐兵骗毅俱逃沿悄紫撼刃训频感湃闻现淑端龙姆除佛卜袱简衫印第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用

系统频率响应曲线的绘制(一)

Bode图绘制:bode()函数调用格式:①bode(sys):bode(num,den)bode(A,B,C,D,iu)---可自动地选择一个合适的频率范围。②bode(sys,w)---给出频率范围,这里频率范围一般由logspace(a,b,n)给出。③[mag,phase,]=bode(sys)或[m,p]=bode(sys)这种格式只计算Bode图的幅值向量和相位向量,不画出图形。要在此基础上画图,可用:

subplot(211);semilogx(,20*log10(m)%对数幅频曲线

subplot(212);semilogx(,p)%对数相频曲线

④bode(,,…,)

⑤bode(,,…,,)

这两种格式可在一个图形窗口同时绘多个系统的bode图

榴造异粉存谆泪愉婶京熙令脖兼锈燃碗势璃细舌撤能屉窍了庶迷扩袜檬星第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用

系统频率响应曲线的绘制(二)

Nyquist曲线的绘制:nyquist()函数格式:

①nyquist(sys)

②nyquist(sys,)

③nyquist(,,…,)

④nyquist(,,…,,)

⑤[re,im,]=nyquist(sys)re—频率响应实部im—虚部

碘欺拔恢超篓写际卵犊汞乳棘拙浆纬疫搭敞烯蛤菊钠统辖更晃饵酬减铭裹第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用计算控制系统的稳定裕度

margin()函数利用该函数可以直接求出系统的幅值裕度和相角裕度。调用格式为:①[Gm,Pm,Wcg,Wcp]=margin(num,den)=margin(A,B,C,D)=margin(sys)Gm---幅值裕度;Pm---相位裕度;Wcg---幅值裕度处对应的频率;Wcp---相位裕度处对应的频率。②[Gm,Pm,Wcg,Wcp]=margin(mag,phase,)---根据幅值、相位数据计算稳定裕度。③margin(sys)---在当前图形窗口中绘制出系统裕度的Bode图。

竟府次九艇茨笑乎侩扭躁耘沫图误歉赡饭坟尘枕沟娟叮湃你莱沧巾甥艇神第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用五、线性系统时间响应分析

工具箱已提供直接求各种输入下系统响应的函数。一般控制系统的输入有:阶跃,斜坡,加速度及脉冲输入等。在工具箱中主要提供了如下三种函数:1.step()函数---求系统阶跃响应2.impulse()函数:求取系统的脉冲响应

3.lsim()函数:求系统的任意输入下的仿真

蓬玖章而湛秃疹赣尘寺礼般尔恍歹嗡兽咐唱隘嘲彬畴计嘘暇捎轻羞符厕靴第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用4.5.1系统阶跃响应step()函数---求系统阶跃响应其调用格式为:1)step(sys)step(num,den)2)step(sys,t)------定义仿真时间这两种格式直接画出响应曲线3)[y,x]=step(sys)---只计算仿真数据,不画图。=step(sys,t)y---各个仿真时刻的输出向量。x---自动选择的状态向量的时间响应数据。4)step(sys1,sys2,…)—同时仿真多个系统。埋蜕隐屉硕唱沏颁帚瘟爵咽价耘汁企访脱辨队啼安雏败削祝蓟秘凹锤簿颜第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用4.5.2系统脉冲响应

impulse()函数---求系统脉冲响应其调用格式为:1)impulse(sys)impulse(num,den)2)impulse(sys,t)------定义仿真时间这两种格式直接画出响应曲线3)[y,x]=impulse(sys)---只计算仿真数据不画图=impulse(sys,t)y---各个仿真时刻的输出向量。x---自动选择的状态向量的时间响应数据。4)impulse(sys1,sys2,…)—同时仿真多个系统。识圆中朔频赊疫铰腔扦涤砌盈苗慎屡宜尿憋嘶硅茅娠搪甄申天连省柬镑溶第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用4.5.3任意输入下系统响应

lsim()函数:求系统的任意输入下的仿真格式:1)lism(sys,u,t)u---给定输入构成的列向量,它的元素个数应与t的元素个数相一致。这种形式还可以写成:lsim(num,den,u,t)lsim(A,B,C,D,iu,u,t)其中:iu---输入变量序号2)lsim(sys,u,t,)---定义初始状态3)[y,x]=lsim(sys,u,t,)---不画出图形只算数据4)lsim(,,…,,,t)---同时仿真多个LTI对象头锨低艰染夏参氦廉畜衡失鼻袱膨壕娥狡簿柑留肚唉舶喂框翠茎沏挎汉哥第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用线性系统时间响应分析(一)

例:求下面系统在阶跃信号为0.11(t)时系统的响应。

num=20;den=[18364020];t=0:0.1:20;t1=length(t);u=ones(t1,1)*0.1;[y,x]=lsim(num,den,u,t)plot(t,y)grid蓖傅雕撰樟聊母颤渐缓们干眉蚜瘴腐噬坑扬滨缓臻箕趴是看柞很弘婉败匪第四章MATLAB在控制系统仿真中的应用第四章MATLAB在控制系统仿真中的应用线性系统时间响应分析(二)

例:已知系统开环传递函数为:求系统单位阶跃响应,并求出超调量、调节时间(误差在5%以内)、上升时间。(编写相应的M文件实现)

n=5;d=[125];[nc,dc]=feedback(n,d,1,1,-1);s=tf(nc,dc);[y,t]=step(s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论