当前位置:文档之家› 控制系统计算机辅助设计CAD实验

控制系统计算机辅助设计CAD实验

控制系统计算机辅助设计实验一、实验教学目标与基本要求上机实验是本课程重要的实践教学环节。

实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的实验手段与实践技能,掌握应用MATLAB/Simulink 求解控制问题的方法,培养学生分析问题、解决问题、应用知识的能力和创新精神,全面提高学生的综合素质。

通过对MATLAB/Simulink进行求解,基本掌握常见控制问题的求解方法与命令调用,更深入地认识和了解MATLAB语言的强大的计算功能与其在控制领域的应用优势。

二、题目及解答第一部分:MATLAB 必备基础知识、控制系统模型与转换、线性控制系统的计算机辅助分析:编写rossler.m文件:function dx=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所的图像:三维相轨迹(下图)xoy平面投影2.编写c2exmobj.m文件:function y=c2exmobj(x)y=x(1)^2-2*x(1)+x(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)运行结果:Warning: Trust-region-reflective method does not currently solve this type of problem, using active-set (line search) instead.> In fmincon at 422Optimization terminated: first-order optimality measure less than options.TolFunand maximum constraint violation is less than options.TolCon.Active inequalities (to within options.TolCon = 1e-006):lower upper ineqlin ineqnonlin2 1x =1.00003.(a).程序代码为:>> s=tf('s');G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5))运行结果为:Transfer function:s^3 + 4 s + 2------------------------------------------------------s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3 (b). 程序代码为:>> z=tf('z',0.1);H=(z^2+0.568)/((z-1)*(z^2-0.2*z+0.99))运行结果为:Transfer function:z^2 + 0.568-----------------------------z^3 - 1.2 z^2 + 1.19 z - 0.99Sampling time: 0.14.将方程两边进行拉式变换后可得传递函数,代码如下:>> tf('s');G=2/(s^3+13*s^2+4*s+5)Transfer function:2----------------------s^3 + 13 s^2 + 4 s + 5转换为状态空间方程为:>> G1=ss(G)a =x1 x2 x3x1 -13 -1 -1.25x2 4 0 0x3 0 1 0b =u1x1 0.5x2 0x3 0c =x1 x2 x3y1 0 0 1d =u1y1 0Continuous-time model.转换为零极点模型为:>> G2=zpk(G)Zero/pole/gain:2----------------------------------(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)运行结果为:Transfer function:z + 2--------------z^2 + z + 0.16Sampling time: 0.16.编写feedback.m函数:function H=feedback(G1,G2,key)if nargin==2; key=-1; end, H=G1/(sym(1)-key*G1*G2); H=simple(H); 代码如下:syms J Kp Ki s;G=(s+1)/(J*s^2+2*s+5);Gc=(Kp*s+Ki)/s;GG=feedback(G*Gc,1);G1=collect(GG,s)运行结果为:G1 =(s+1)*(Kp*s+Ki)/(J*s^3+(Kp+2)*s^2+(Ki+Kp+5)*s+Ki)7.(a):代码如下:>> s=tf('s');G=(211.87*s+317.64)/(s+20)/(s+94.34)/(s+0.1684);Gc=(169.6*s+400)/s/(s+4);H=1/(0.01*s+1);GG=feedback(G*Gc,H)运行结果为:Transfer function:359.3 s^3 + 3.732e004 s^2 + 1.399e005 s + 127056----------------------------------------------------------------------------------0.01 s^6 + 2.185 s^5 + 142.1 s^4 + 2444 s^3 + 4.389e004 s^2 + 1.399e005 s + 127056 状态方程如下:>> ss(GG)a =x1 x2 x3 x4 x5 x6x1 -218.5 -111.1 -29.83 -16.74 -6.671 -3.029x2 128 0 0 0 0 0x3 0 64 0 0 0 0x4 0 0 32 0 0 0x5 0 0 0 8 0 0x6 0 0 0 0 2 0b =u1x1 4x2 0x3 0x4 0x5 0x6 0c =x1 x2 x3 x4 x5 x6y1 0 0 1.097 3.559 1.668 0.7573d =u1y1 0Continuous-time model.零极点模型转换如下:>> zpk(GG)Zero/pole/gain:35933.152 (s+100) (s+2.358) (s+1.499)-----------------------------------------------------------------------(s^2 + 3.667s + 3.501) (s^2 + 11.73s + 339.1) (s^2 + 203.1s + 1.07e004)(b).程序代码如下:可先设系统采样周期为0.1s>> z=tf('z',0.1);G=(35786.7*z^2+108444*z^3)/(4*z+1)/(20*z+1)/(1+74.04*z);Gc=z/(1-z);H=z/(0.5-z);GG=feedback(G*Gc,H)运行结果为:Transfer function:-108444 z^5 + 1.844e004 z^4 + 1.789e004 z^3---------------------------------------------------------------------1.144e005 z^5 +2.876e004 z^4 + 274.2 z^3 + 782.4 z^2 + 47.52 z + 0.5 Sampling time: 0.1状态方程转换如下:>> ss(GG)a =x1 x2 x3 x4 x5 x1 -0.2515 -0.00959 -0.1095 -0.05318 -0.01791x2 0.25 0 0 0 0x3 0 0.25 0 0 0x4 0 0 0.125 0 0x5 0 0 0 0.03125 0b =u1x1 1x2 0x3 0x4 0x5 0c =x1 x2 x3 x4 x5 y1 0.3996 0.6349 0.1038 0.05043 0.01698d =u1y1 -0.9482Sampling time: 0.1Discrete-time model.零极点模型转化如下:>> zpk(GG)Zero/pole/gain:-0.94821 z^3 (z-0.5) (z+0.33)----------------------------------------------------------(z+0.3035) (z+0.04438) (z+0.01355) (z^2 - 0.11z + 0.02396) Sampling time: 0.18.程序代码如下:s=tf('s');c1=feedback(1/(s+1)*s/(s^2+2),(4*s+2)/(s+1)^2);c2=feedback(1/s^2,50);c3=feedback(c1*c2,(s^2+2)/(s^3+14));G=3*c3;G运行结果为:Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s-----------------------------------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3 + 7732 s^2 + 5602 s + 14009.程序代码如下:>> s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500);G1=c2d(G,0.01),G2=c2d(G,0.1),G3=c2d(G,1)运行结果如下:Transfer function:4.716e-005 z^5 - 0.0001396 z^4 + 9.596e-005 z^3 + 8.18e-005 z^2 - 0.0001289 z + 4.355e-005------------------------------------------------------------------------------------------z^6 - 5.592 z^5 + 13.26 z^4 - 17.06 z^3 + 12.58 z^2 - 5.032 z + 0.8521 Sampling time: 0.01Transfer function:0.0003982 z^5 - 0.0003919 z^4 - 0.000336 z^3 + 0.0007842 z^2 - 0.000766 z + 0.0003214 -------------------------------------------------------------------------------------z^6 - 2.644 z^5 + 4.044 z^4 - 3.94 z^3 + 2.549 z^2 - 1.056 z + 0.2019Sampling time: 0.1Transfer function:8.625e-005 z^5 - 4.48e-005 z^4 + 6.545e-006 z^3 + 1.211e-005 z^2 - 3.299e-006 z + 1.011e-007--------------------------------------------------------------------------------------------z^6 - 0.0419 z^5 - 0.07092 z^4 - 0.0004549 z^3 + 0.002495 z^2 - 3.347e-005 z + 1.125e-007Sampling time: 1绘制曲线如下:>> subplot(221),step(G)subplot(222),step(G1)subplot(223),step(G2)subplot(224),step(G3)图像为:10.(a)程序代码如下:>> s=tf('s');G=1/(s^3+2*s^2+s+2);eig(G)运行结果如下:ans =-2.0000-0.0000 + 1.0000i-0.0000 - 1.0000i可得系统为临界稳定(b)程序代码如下:>> num=1;den=[6 3 2 1 1];G=tf(num,den);eig(G)运行结果为:ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i可得有一对共轭复根在右半平面,所以系统不稳定。

相关主题