基于MATLAB自动控制原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于MATLAB/Simulink的自动控制原理课程设计强盛2011-11-22内容•用SIMULINK搭建系统模型•编辑M文件,将SIMULINK搭建的模型转换成传递函数模型•绘制伯德图(bode(),margin())、单位阶跃响应曲线(step())等图形•图形的提取及坐标轴的标注(title(),xlabel(),ylabel())举例:已知单位负反馈系统的固有部分的传递函数为设计指标:)15.0()(0ssKsG15;45K1Out1200.5s+s2TransferFcn1In1一、开环系统分析1、Simulink中模型的建立2、MATLAB中M文件的建立[a,b,c,d]=linmod2('sim1')g=tf(ss(a,b,c,d))margin(g)-50050Magnitude(dB)10-1100101102-180-135-90Phase(deg)BodeDiagramGm=InfdB(atInfrad/sec),Pm=18deg(at6.17rad/sec)Frequency(rad/sec)二、串联滞后校正)15.0()(0ssKsG1015.0/115.0/)(sssGC15;45K•/*先画G=15/s(0.5s+1)渐近幅频特性•num=15;den=[0.510];•G=tf(num,den);•w=logspace(-2,1,200);•[wpos,ypos]=bd_asymp(G,w);•/*求折点•semilogx(wpos,ypos)•holdon•/*再画实际幅频特性•[mag,phase,w]=bode(num,den,w);•semilogx(w,20*log10(mag))function[wpos,ypos]=bd_asymp(G,w)G1=zpk(G);Gtf=tf(G);ifnargin==1,w=freqint2(Gtf.num{1},Gtf.den{1},100);endzer=G1.z{1};pol=G1.p{1};gain=G1.k;wpos=[];pos1=[];fori=1:length(zer);ifisreal(zer(i))wpos=[wpos,abs(zer(i))];pos1=[pos1,20];elseifimag(zer(i))0wpos=[wpos,abs(zer(i))];pos1=[pos1,40];end,end,endfori=1:length(pol);ifisreal(pol(i))wpos=[wpos,abs(pol(i))];pos1=[pos1,-20];elseifimag(pol(i))0wpos=[wpos,abs(pol(i))];pos1=[pos1,-40];end,end,endwpos=[wposw(1)w(length(w))];pos1=[pos1,0,0];[wpos,ii]=sort(wpos);pos1=pos1(ii);ii=find(abs(wpos)eps);kslp=0;w_start=1000*eps;iflength(ii)0,kslp=sum(pos1(ii));ii=(ii(length(ii))+1):length(wpos);wpos=wpos(ii);pos1=pos1(ii);endwhile1[ypos1,pp]=bode(G,w_start);ifisinf(ypos1),w_start=w_start*10;else,break;endendwpos=[w_startwpos];ypos(1)=20*log10(ypos1);pos1=[kslppos1];fori=2:length(wpos)kslp=sum(pos1(1:i-1));ypos(i)=ypos(i-1)+...kslp*log10(wpos(i)/wpos(i-1));Endii=find(wpos=w(1)&wpos=w(length(w)));wpos=wpos(ii);ypos=ypos(ii);10-210-1100101-100102030405060701Out11/0.15s+11/0.015s+1TransferFcn1200.5s+s2TransferFcn1In1-100-50050100150Magnitude(dB)10-410-310-210-1100101102-180-135-90Phase(deg)BodeDiagramGm=InfdB(atInfrad/sec),Pm=46.9deg(at1.58rad/sec)Frequency(rad/sec)三、校正后的Bode图1/0.15s+11/0.015s+1TransferFcn1200.5s+s2TransferFcnStepScope四、闭环系统的单位阶跃响应01234567891000.20.40.60.811.21.41.先将Scope中的数据存到工作区,并将变量格式定义成数组(Array)2.调用变量画出曲线,MATLAB语句:plot(ScopeData(:,1),ScopeData(:,2))如何从Scope中提取曲线?1/0.15s+11/0.015s+1TransferFcn1200.5s+s2TransferFcnStepScope闭环系统单位阶跃响应曲线

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功