资源描述:
《控制系统计算机辅助设计实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、控制系统计算机辅助设计实验36一、实验教学目标与基本要求上机实验是本课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的实验手段与实践技能,掌握应用MATLAB/Simulink求解控制问题的方法,培养学生分析问题、解决问题、应用知识的能力和创新精神,全面提高学生的综合素质。通过对MATLAB/Simulink进行求解,基本掌握常见控制问题的求解方法与命令调用,更深入地认识和了解MATLAB语言的强大的计算功能与其在控制领域的应用优势。二、题目及解答第一部分:MATLAB必备基础知识、控制系统模型与转换、线性控制系统的计算机辅助分析:1.编写rossler.
2、m文件:functiondx=rossler(t,x)dx=[-x(2)-x(3);x(1)+0.2*x(2);0.2+(x(1)-5.7)*x(3)];主函数:>>x0=[0;0;0];[t,y]=ode45('rossler',[0,100],x0);plot3(y(:,1),y(:,2),y(:,3)),grid>>plot3(y(:,1),y(:,2),y(:,3)),grid>>plot(y(:,1),y(:,2)),grid所的图像:三维相轨迹(下图)36xoy平面投影2.编写c2exmobj.m文件:functiony=c2exmobj(x)y=x(1)^2-2*x(1)+x
3、(2);编写c2exmcon.m文件:function[c,ce]=c2exmcon(x)ce=[];c=[4*x(1)^2+x(2)^2-4];主函数为:A=[];B=[];Aeq=[];Beq=[];xm=[0;0];xM=[];x0=[0;0];ff=optimset;ff.Tolx=1e-10;ff.TolFun=1e-20;x=fmincon('c2exmobj',x0,A,B,Aeq,Beq,xm,xM,'c2exmcon',ff)36运行结果:Warning:Trust-region-reflectivemethoddoesnotcurrentlysolvethistypeo
4、fproblem,usingactive-set(linesearch)instead.>Infminconat422Optimizationterminated:first-orderoptimalitymeasurelessthanoptions.TolFunandmaximumconstraintviolationislessthanoptions.TolCon.Activeinequalities(towithinoptions.TolCon=1e-006):lowerupperineqlinineqnonlin21x=1.000003.(a).程序代码为:>>s=tf('s');
5、G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5))运行结果为:Transferfunction:s^3+4s+2------------------------------------------------------s^11+5s^9+9s^7+2s^6+12s^5+4s^4+12s^3(b).程序代码为:>>z=tf('z',0.1);H=(z^2+0.568)/((z-1)*(z^2-0.2*z+0.99))运行结果为:Transferfunction:z^2+0.568-----------------------------z^3-1.2
6、z^2+1.19z-0.99Samplingtime:0.1364.将方程两边进行拉式变换后可得传递函数,代码如下:>>tf('s');G=2/(s^3+13*s^2+4*s+5)Transferfunction:2----------------------s^3+13s^2+4s+5转换为状态空间方程为:>>G1=ss(G)a=x1x2x3x1-13-1-1.25x2400x3010b=u1x10.5x20x30c=x1x2x3y1001d=u1y10Continuous-timemodel.36转换为零极点模型为:>>G2=zpk(G)Zero/pole/gain:2--------
7、--------------------------(s+12.72)(s^2+0.2836s+0.3932)5.如题可设采样时间为0.1s,代码如下:>>z=tf('z',0.1);H=(z+2)/(z^2+z+0.16)运行结果为:Transferfunction:z+2--------------z^2+z+0.16Samplingtime:0.16.编写feedback.m函数:functionH=feedbac