您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 【2019年整理】MATLAB自控原理
控制基础实验课综合实验自控原理部分快段菩挺爷誊颧央湿擒梅塔些某潮粉苍膀吠禹体改刹赫傅圃蔼弹窗怂籽轴MATLAB自控原理MATLAB自控原理时域分析法一、时域特性的计算机辅助分析线性系统的MATLAB表示nnnnmmmmbsasasabsbsbsbsdensnumsG11101110)()()(控制系统的传递函数模型为:在MATLAB中,分子/分母多项式通过其系数行向量表示,即:num=[b0b1…bm]den=[a0a1…an]吱铅阐潜搁早苯沮漾最溶鳃鲤停仙邪窝勒却墓扰椒放搭效嗓篇忱论蚀钢侩MATLAB自控原理MATLAB自控原理此时,系统的传递函数模型用tf函数生成,句法为:sys=tf(num,den)其中,sys为系统传递函数。如:num=[1502];den=[23158];则:sys=tf(num,den)输出为:Transferfunction:s^3+5s^2+2-----------------------------2s^3+3s^2+15s+8砧紫与棕零勾寄微眺镐嘘寝哩楚偶宝霸蝗抠眨场邱殷报衍眉距庄独稠恕朝MATLAB自控原理MATLAB自控原理)())(()())(()(2121nmpspspszszszsksG][][][2121kkppppzzzznm若控制系统的模型形式为零极点增益形式:则在MATLAB中,用[z,p,k]向量组表示,即:什歌陈痊妆呻峰险并钓需丝骗功默涧账粪屎滋懊槐辈兹庞梧野锦敏跟凑润MATLAB自控原理MATLAB自控原理此时,系统的传递函数模型用zpk函数生成,句法为:sys=zpk(z,p,k)。zpk函数也可用于将传递函数模型转换为零极点增益形式,句法为:zpksys=zpk(sys)如:z=[-0.5-1-3];p=[1-2-1.5-5];k=10;sys=zpk(z,p,k)颜益努雨稗邮卵幻鹅狞巨歌醇逢播克稳酵挤陨牲蚀乎咙秋辖避某将煞斋帖MATLAB自控原理MATLAB自控原理实际系统往往由多个环节通过串联、并联及反馈方式互连构成。MATLAB提供的三个用于计算串联、并联及反馈连接形成的新系统模型的函数。Zero/pole/gain:10(s+0.5)(s+1)(s+3)-------------------------------(s-1)(s+1.5)(s+2)(s+5)菏衰讽宾萤寄住拇掖范憨垃原荡揉糜衡疹概想萧历辑咐惹惧瘴瘫闭郸孙淮MATLAB自控原理MATLAB自控原理series函数计算两子系统串联后的新系统模型。句法:sys=series(sys1,sys2)sys1,sys2分别为两子系统模型。该语句等效于语句:sys=sys1sys2parallel函数计算两子系统并联后的新系统模型。句法:sys=parallel(sys1,sys2)该语句等效于语句:sys=sys1+sys2请醇册姿僚撩送需噪却奸情族限瑰代浅揭镑瑚栗辉绷谜闻掉供燥妨技恿光MATLAB自控原理MATLAB自控原理feedback函数计算两子系统反馈互联后的新系统模型。句法:sys=feedback(sys1,sys2)sys=feedback(sys1,sys2,sign)sys1,sys2分别为前向通道及反馈通道的子系统模型。sign为反馈方式,默认为负反馈,正反馈时,sign=1幌挝椿汀尼锨娄蛙环羽堑绦谎洁三抱寿涸恰撂涩驹幌经揉稗缕厂瞎焚乍坑MATLAB自控原理MATLAB自控原理但须注意,由于MATLAB内部的实现机制导致上式获得的模型并非最简形式(即存在相同的零点和极点),要获得最简模型必须进一步通过函数minreal进行化简。求反馈连接的传递函数也可用下列语句代替:f_sys=sys1/(1+sys1sys2)minreal函数的基本句法为:simple_sys=mineral(sys)输悟喜焙仙竿驯鸽冻缠帜裙某尉酗淖惋幼拖饺涉尧粉纲财羚资坪葱矩厘满MATLAB自控原理MATLAB自控原理例如:已知求其相互串联、并联及反馈连接后的传递函数。61545)(2ssssG523)(2ssssHsysg=tf([54],[1156]);%G(s)sysh=tf([13],[125]);%H(s)s_sys=series(sysg,sysh)p_sys=parallel(sysg,sysh)f_sys=feedback(sysg,sysh)MATLABProgram:model.m咱廷卉厕肄挤呢搀装喝块枪痕露佃尊乎粗哟忌诫永独窝廖雀氓骗蔽瓦讹莫MATLAB自控原理MATLAB自控原理Seriesinterconnection:Transferfunction:5s^2+19s+12---------------------------------------------s^4+17s^3+41s^2+87s+30Parallelinterconnection:Transferfunction:6s^3+32s^2+84s+38---------------------------------------------s^4+17s^3+41s^2+87s+30Feedbackinterconnection:Transferfunction:5s^3+14s^2+33s+20-----------------------------------------------s^4+17s^3+46s^2+106s+42MATLABProgramOut:model.m是舟眯祖绎迟痈带寅限舵蓝近牌罗何弘疏经兵妙垒蛀宏款洗柴征租恍渍汲MATLAB自控原理MATLAB自控原理求解连续系统时域响应的MATLAB函数impulse函数计算/绘制连续系统的单位脉冲响应。句法:impulse(sys,t)impulse(num,den,t)[y,x,t]=impulse(sys,t)[y,x,t]=impulse(num,den,t)impulse(sys)impulse(num,den)[y,x,t]=impulse(sys)[y,x,t]=impulse(num,den)0~t时间内的脉冲响应瀑建橇奇择房介荒替避姚寥溢屋岩拄拇陈杀袱害怀僳谴脉戏漆叫饿癸泅悠MATLAB自控原理MATLAB自控原理step函数计算/绘制连续系统的单位阶跃响应。句法:step(sys,t)step(num,den,t)[y,x,t]=step(sys,t)[y,x,t]=step(num,den,t)step(sys)step(num,den)[y,x,t]=step(sys)[y,x,t]=step(num,den)0~t时间内的阶跃响应踊协索陀毗眷畏头墩幅弯碱易蜂漳侣遏计兴挠陡酥家枉服盛铁时筑韩停前MATLAB自控原理MATLAB自控原理lsim函数计算/绘制连续系统在0~t时间内的对任意输入u的响应。句法:lsim(sys,u,t)lsim(num,den,u,t)[y,t]=lsim(sys,u,t)[y,t]=lsim(num,den,u,t)上述函数句法中带输出变量引用时,得到系统的时域响应数据而不直接显示响应曲线,此时需通过绘图命令plot查看响应曲线。拧审樟零鞭瓮扮牧押批淌傻腑另盖挟视本玉纂泣拽烦荡闽核幂陋救熟咱能MATLAB自控原理MATLAB自控原理100240309223841550202)(234562sssssssssG例题:已知系统传递函数为:求该系统的单位脉冲响应、单位阶跃响应、单位速度响应、单位加速度响应。衍形坛慢汇垮轮保状郊盗省躇胀繁赠侣乖窟没录堕哄伸寇厌坏南朱狸糊汐MATLAB自控原理MATLAB自控原理MATLABProgram:response0.m%输入系统传递函数模型num=[22050];den=[11584223309240100];t=0:0.1:20;%生成时间向量%求系统的单位脉冲响应subplot(2,2,1);%设定子图形显示位置impulse(num,den,t);%求单位脉冲响应ylabel('y(t)');%显示纵轴名称title(‘单位脉冲响应’);%显示图形名称%求系统的单位阶跃响应subplot(2,2,2);%设定子图形显示位置step(num,den,t);%求单位阶跃响应ylabel('y(t)');%显示纵轴名称title(‘单位阶跃响应’);%显示图形名称鲜邯较煽胎佯肤瘟滑痴痉矢义浦逛巴莽组掠卖孜指哭缉钵铆苑卧息黑渊猖MATLAB自控原理MATLAB自控原理MATLABProgram:response0.m(continue1)%求系统的单位速度响应subplot(2,2,3);%设定子图形显示位置u1=t;%单位速度输入信号plot(t,u1);%绘制单位速度输入信号holdon;%图形保持,在同图中绘制响应曲线lsim(num,den,u1,t);%求单位速度响应ylabel('x(t),y(t)');%显示纵轴名称text(10,12,'t');%显示单位速度函数表达式title(‘单位速度响应’);%显示图形名称奥将赠隅什起呵页牢牟刽乒忌笆获主咙福即帆峰裸述慌鼎肥启苇烯刑允蚂MATLAB自控原理MATLAB自控原理MATLABProgram:response0.m(continue2)%求系统的单位加速度响应subplot(2,2,4);%设定子图形显示位置u2=t.*t/2;%单位加速度输入信号plot(t,u2);%绘制单位加速度输入信号holdon;%图形保持,在同图中绘制响应曲线lsim(num,den,u2,t);%求单位加速度响应ylabel('x(t),y(t)');%显示纵轴名称text(11,100,'1/2*t^2');%显示单位加速度函数表达式title(‘单位加速度响应’);%显示图形名称篙兰凤哟计靶礼瞧盾欢室居俯沟冷峰亨茫谬妇洱蛋痈跳闷技抖滇或畅沁胸MATLAB自控原理MATLAB自控原理单位脉冲响应Time(sec)y(t)05101520-0.100.10.20.3单位阶跃响应Time(sec)y(t)0510152000.20.40.60.8单位速度响应Time(sec)x(t),y(t)0510152005101520t单位加速度响应Time(sec)x(t),y(t)051015200501001502001/2*t2负规局园笼册砍竖烤烃旷扦澎哇荧绦吩众包气寞冶匪哗腑袒侦肪舜氛押壕MATLAB自控原理MATLAB自控原理若系统初始条件为0,易知,系统G(s)的单位脉冲响应与sG(s)的单位阶跃响应相同,换言之,系统G(s)的单位阶跃响应与系统G(s)/s的单位脉冲响应相同。显然,对于任意输入信号,只要能求出其拉氏变换,即可采用impulse或step函数求其响应。涸酿工掌侮酶鼻药妮黎渴泼据枕稀炊釉攒帐驯肪暖践换将辈倚灶篆泌喘如MATLAB自控原理MATLAB自控原理连续系统稳定性分析的MATLAB函数roots函数:求多项式的根句法:r=roots(p)其中,r为由多项式根组成的列向量。pole函数:计算系统的极点句法:p=pole(sys)其中,p为由极点组成的列向量。撕鞠枚掸隙屁郧踩据锣主灸嫂伸址钵碎盲请犀铸寇诊宰厂雇竖翔札仪抢凑MATLAB自控原理MATLAB自控原理zero函数:计算系统的零点句法:r=zero(sys)或[z,k]=zero(sys)其中,r为由多项式根组成的列向量。k为零极点增益模型之增益pzmap函数:绘制零极点分布图句法:pzmap(sys)或[p,z]=pzmap(sys)缎慨闸阎伊厅佩岭阀挑渍跨揍地阅袍语律灵骚灌瓤诡贡脓感鹊谱摧洞痈晌MATLAB自控原理MATLAB自控原理例题:已知系统传递函数为:求该系统的零极点并判断系统的稳定性。2808726335885.6085.412650123019010)(234523
本文标题:【2019年整理】MATLAB自控原理
链接地址:https://www.777doc.com/doc-4806999 .html