资源描述:
《基于MATLAB自动控制原理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于MATLAB/Simulink的自动控制原理课程设计强盛2011-11-22内容用SIMULINK搭建系统模型编辑M文件,将SIMULINK搭建的模型转换成传递函数模型绘制伯德图(bode(),margin())、单位阶跃响应曲线(step())等图形图形的提取及坐标轴的标注(title(),xlabel(),ylabel())举例:已知单位负反馈系统的固有部分的传递函数为设计指标:一、开环系统分析1、Simulink中模型的建立2、MATLAB中M文件的建立[a,b,c,d]=linmod2('s
2、im1')g=tf(ss(a,b,c,d))margin(g)二、串联滞后校正/*先画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,yp
3、os]=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))
4、];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=
5、find(abs(wpos)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)=2
6、0*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);三、校正后的Bode图四、闭环系统的单位阶跃响应1.先将Scope中的数据存到工作区,并将变量格式定义成数组(Array)2.
7、调用变量画出曲线,MATLAB语句:>>plot(ScopeData(:,1),ScopeData(:,2))如何从Scope中提取曲线?闭环系统单位阶跃响应曲线