您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Matlab编程方法及仿真实验
现代机械工程基础实验Ⅰ(机电)实验报告(机械工程控制基础综合实验)班级__姓名_指导教师___机电工程学院实验目录1Matlab编程方法及仿真实验…………………………………………1实验2.系统零极点绘制…………………………………………………………1实验5.系统的稳态响应…………………………………………………………1实验6.伯德图、尼柯尔斯图和奈奎斯特图……………………………………3实验7.转角频率和渐近线………………………………………………………4实验9.阶跃响应性能…………………………………………………………5Simulink方法及仿真实验…………………………………………….8一阶震荡环节……………………………………………………………………8二阶震荡…………………………………………………………………………9微分环节…………………………………………………………………………10一阶二阶串联……………………………………………………………………11积分和一阶震荡环节串联………………………………………………………12实验总结…………………………………………………………………131Matlab编程方法及仿真实验实验2.系统零极点绘制例:求部分分式展开式和)(tg一个线性定常系统的传递函数是154223)(23sssssG使用MATLAB建立传递函数,并确定它的极点和零点,写出)(sG的部分分式展开式并绘制系统的脉冲响应。部分分式展开式和脉冲响应numG=[32];denG=[2451];%G(s)的分子和分母G=tf(numG,denG)%创建G(s)为TF对象[zG,pG,kG]=zpkdata(G,'v')%G(s)的零点、极点和增益[resG,polG,otherG]=residue(numG,denG)%做部分分式展开式得到留数impulse(G)%获取脉冲响应图图1脉冲响应图分析:通过系统仿真和对参数的整理,得到以下参数zG=-0.6667传递函数的零点pG=传递函数的极点-0.8796+1.1414i-0.8796-1.1414i-0.2408kG=1.5000增益该系统属于三阶系统,可以由一个三阶系统和一个微分系统串联组成实验5.系统的稳态响应2例正弦稳态响应对以下系统的全响应进行仿真:345010)(2ssssG正弦输入信号)305cos(2)(ottu,仿真区间为st60(假设初始条件为零)。试求rad/s5时的频率响应)j(G,并计算)(tyss;在同一幅图中绘制)(ty和)(tyss,并论述它们之间的联系。MATLAB源程序正弦稳态响应的计算G=tf([1050],[143])%将G(s)创建为TF对象t=[0:0.06:6];%时间列向量u=2*cos(5*t+30*pi/180);%输入信号y=lsim(G,u,t);%无初始条件的全响应[mag,phase]=bode(G,5)%获得5rad/s处的幅频特性和相频特性yss=2*mag*cos(5*t+(30+phase)*pi/180);%由(6.3)式得到的稳态响应plot(t,u,'-',t,y,'--',t,yss,'-.')%绘制时间响应曲线时间响应曲线如图2显示图2正弦稳态响应曲线分析:通过仿真得到图2正弦稳态响应曲线和如下结果Transferfunction:10s+50-------------s^2+4s+35rad/s处幅频特性mag=2.3783相频特性phase=-92.7263由图形显示可以看出输入信号的幅值为稳态响应曲线的1/2,两曲线之间相差90度。该系统3可以看成一个二阶系统和一个微分系统组成,二阶系统属于过阻尼系统系统的响应表现为指数衰减的响应曲线。实验6.伯德图、尼柯尔斯图和奈奎斯特图对如下传递函数绘制其伯德图、尼柯尔斯图和奈奎斯特图1624.32081.16042.246401280)(234ssssssGMATLAB源程序伯德图、尼柯尔斯图和奈奎斯特图numG=[1280640];%创建G(s)为TF对象denG=[124.21604.81320.2416];G=tf(numG,denG)w=logspace(-2,3,100)';%将对数分布的点作为列向量figure(1);bode(G,w)%伯德图figure(2);nichols(G,w)%尼柯尔斯图axis([-2700-4040])%调整绘图区域(axis([xminxmaxyminymax]))gridon;%添加方格和尼柯尔斯网格线figure(3);nyquist(G)%奈奎斯特图axisequal%调整纵横坐标比,使图形保持原本的形状分析:对传递函数进行仿真得到图3.1伯德图,图3.2尼柯尔斯图,图3.3奈奎斯特图Transferfunction:1280s+640----------------------------------------s^4+24.2s^3+1605s^2+320.2s+16该系统为4阶系统,属于高阶系统。图3.1伯德图4图3.2尼柯尔斯图图3.3奈奎斯特图实验7.转角频率和渐近线计算转角频率,并使用MATLAB画出例6伯德图的幅频特性渐近线。MATLAB源程序绘制对数幅频特性渐近线numG=[1280640];%将G(s)创建为TF对象denG=[124.21604.81320.2416];G=tf(numG,denG)[z,p,k]=zpkdata(G)%计算系统G的极点、零点和增益[Wn,ksi]=damp(G)%确定固有频率和阻尼比5w=logspace(-2,3,100)';%对数分布点[mag,phase]=bode(G,w);%计算频率响应mag=reshape(mag,[1001]);%将一个1*1*100矩阵转换为一个100*1矩阵semilogx(w,20*log10(mag),'--')%做幅值图holdonlfg=dcgain(G)%获取系统G的低频增益cf1_dB=20*log10(lfg)%低频渐近线幅值plot([0.01;0.1],[cf1_dB;cf1_dB],'-')%绘制直线图cf2_dB=cf1_dB-40*log10(0.5/0.1)%w=0.5rad/s处的幅值plot([0.1;0.5],[cf1_dB;cf2_dB],'-')%斜率为-40dB/deccf3_dB=cf2_dB-20*log10(40/0.5)%w=40rad/s处的幅值plot([0.5;40],[cf2_dB;cf3_dB],'-')%斜率为-20dB/decend_dB=cf3_dB-60*log10(100/40)%w=1000rad/s处的幅值plot([40;1000],[cf3_dB;end_dB],'-')%斜率为-60dB/decholdofftext(0.23,25,'-40dB/dec')%为渐近线加标记text(15,-25,'-20dB/dec')text(15,-70,'-60dB/dec')axis([0.011000-10040])%重新调整y轴图4伯德图的幅频特性渐近线分析:经过仿真得到图4伯德图的幅频特性渐近线和以下系统的参数Transferfunction:1280s+640----------------------------------------s^4+24.2s^3+1605s^2+320.2s+16系统极点z=[-0.5000]系统零点p=[4x1double]系统增益k=1280实验9.阶跃响应性能6R(s)∆(s)Gc(s)M(s)D(s)++-+U(s)Gp(s)Y(s)H(s)控制器过程传感器(a)D(s)++U(s)过程Gp(s)Y(s)H(s)-1∆(s)Gc(s)M(s)传感器控制器(b)图3反馈系统考虑图3中的反馈系统,其中)20)(1)(01.0(1)(ssssGP,50)(sGc,1)(sH当0)(td时,对单位阶跃输入)(tr引起的参考响应)(tyr进行仿真,稳态误差允许误差为2%,求系统的pM,pt,rt,st。再对0)(tr时由单位阶跃扰动)(td引起的响应)(tyd进行仿真,并求其稳态值。MATLAB源程序阶跃响应性能denGp=conv(conv([10.01],[11]),[120])%对象模型Gp=tf(1,denGp)Gcp=50*Gp%控制器和对象Tr=feedback(Gcp,1.0)%单位反馈t=[0:0.05:20]';%时间向量yr=step(Tr,t);%闭环阶跃响应figure(1);plot(t,yr);grid%图7.2(a)%求系统的性能性能参数pM,pt,rt,st,deta=0.02;%稳态误差允许误差yss=yr(length(t))%系统的稳态值r=1;whileyr(r)yss;r=r+1;end%循环求trtr=(r-1)*0.05;%转换时间tr[ymax,tp]=max(yr);%获取系统最大值ymax和峰值时间tptp=(tp-1)*0.05;%转换时间tp7mp=(ymax-yss)/yss;%求系统的超调量pMs=length(t);whileyr(s)yss-deta&yr(s)yss+deta;s=s-1;end%循环求tsts=(s-1)*0.05;%转换时间tsdisp('mptptrts')%显示系统性能参数[mptptrts],%0)(tr时由单位阶跃扰动)(td引起的响应)(tyd进行仿真[numTr,denTr]=tfdata(Tr,'v')%提取分子分母多项式[resS,polS,otherS]=residue(numTr,[denTr0])%分布分式展开式Td=feedback(Gp,50)%计算Td(s)yd=step(Td,t);%闭环阶跃响应yds=yd(length(t))%系统的稳态值figure(2);step(Td,t)%扰动阶跃响应分析:通过仿真结果得到mp,tr,ts,tp以及稳态值yds,得到阶跃响应曲线图5.1和图5.2,结果如下所示Transferfunction:1--------------------------------s^3+21.01s^2+20.21s+50.2稳态值为yds=0.0199转换时间tr=1.3000转换时间tp=2.1000系统的超调量mp=0.4004转换时间ts=8.8000resS=-0.0064-0.4948+0.1858i-0.4948-0.1858i0.9960polS=-20.1299-0.4400+1.5166i-0.4400-1.5166i该系统是高阶闭环系统8图5.1阶跃响应图5.2阶跃响应图Simulink方法及仿真实验实验基本要求:学习并掌握Simulink的原理及方法。对于图1所示的闭环系统,分别用Simulink设计一阶惯性环节、二阶振荡环节、积分环节、延时环节、比例环节的闭环控制系统,然后求闭环系统的阶跃响应、脉冲响应、正弦函数信号响应,并对闭环系统的性能进行分析。一阶震荡环节G(s)=1/(0.01s+1)K=2H(s)=2图6.1一阶震荡环节9图6.2一阶震荡环节锯齿波响应图分析:该系统的传递函数为G(s)=1/(0.01s+1)系统增益K=2反馈函数H(s)=2闭环传递函数为Φ(s)=101.041___________101.02ss图6.2为响应输出曲线,上方为原始信号,下方为处理后信号通过改变传递汗函数T值可以发现,当T值越大时,响应曲线越平坦,反馈函数的参数越大时,响应曲线Φ(s)幅值减小与原始信号的比例越大。二阶震荡G(s)=16/(2s^2+16s+16)K=20H(s)=1/(0.05s+1)图7.1二阶震荡10图7.2二阶震荡阶跃函数响应曲线该系统的传递函数为G(s)=16/(2s^2+16s+16)系统增益K=20反馈函数H(s)=1/(0.05s+1)闭环传递函数为Φ
本文标题:Matlab编程方法及仿真实验
链接地址:https://www.777doc.com/doc-2887817 .html