1、控制系统matlab仿真实验报告4控制系统仿真 实验报告 实验4基于MATLAB的时域分析 班级:09自动化 报告人:张家明 完成时间:2012-11-161.已知系统传递函数如下,1)用MATLAB建立系统模型并将所建立的系统模型相互转换为tf、zpk或ss形式。2)通过连接函数的方式实现系统G1和G2的串联和并联1).程序:z=-2; %G1(s)p=-0.4,-15,-25;k=18;sys1=zpk(z,p,k)num,den=zp2tf(z,p,k);sys2=tf(num,den)A,B,C,D=zp2ss(z,p,k)sys3=ss(A,B,C,D)运行结果;Zero/pole/
2、gain: 18 (s+2)-(s+0.4) (s+15) (s+25) Transfer function: 18 s + 36-s3 + 40.4 s2 + 391 s + 150a = x1 x2 x3 x1 -0.4 0 0 x2 1.6 -40 -19.36 x3 0 19.36 0 b = u1 x1 1 x2 1 x3 0 c = x1 x2 x3 y1 0 0 0.9295 d = u1 y1 0程序:num=1,2; %G2(S)den=1,1,10;sys1=tf(num,den)z,p,k=tf2zp(num,den)sys2=zpk(z,p,k)A,B,C,D=tf2s
3、s(num,den)sys3=ss(A,B,C,D)运行结果:Transfer function: s + 2-s2 + s + 10 Zero/pole/gain: (s+2)-(s2 + s + 10) a = x1 x2 x1 -1 -10 x2 1 0 b = u1 x1 1 x2 0 c = x1 x2 y1 1 2 d = u1 y1 0程序:A=-40.4 -139 -150;1 0 0;0 1 0;B=1;0;0;C=0 18 360;D=0;sys1=ss(A,B,C,D)num,den=ss2tf(A,B,C,D);sys2=tf(num,den)z,p,k=ss2zp(A
4、,B,C,D);sys3=zpk(z,p,k)运行结果:a = x1 x2 x3 x1 -40.4 -139 -150 x2 1 0 0 x3 0 1 0b = u1 x1 1 x2 0 x3 0 c = x1 x2 x3 y1 0 18 360 d = u1 y1 0 Continuous-time model. Transfer function: 18 s + 360-s3 + 40.4 s2 + 139 s + 150 Zero/pole/gain: 18 (s+20)-(s+36.73) (s2 + 3.674s + 4.084)2).程序:clcz=-2; %G1(s)p=-0.4
5、,-15,-25;k=18;sys1=zpk(z,p,k);num=1,2; %G2(S)den=1,1,10;sys2=tf(num,den);sys=series(sys1,sys2)tf(sys)sys=parallel(sys1,sys2)tf(sys)运行结果Zero/pole/gain: 18 (s+2)2-(s+15) (s+25) (s+0.4) (s2 + s + 10) Transfer function: 18 s2 + 72 s + 72-s5 + 41.4 s4 + 441.4 s3 + 945 s2 + 4060 s + 1500Zero/pole/gain:(s+
6、50.42) (s+7.055) (s+2) (s+0.9278)-(s+0.4) (s+15) (s+25) (s2 + s + 10) Transfer function: s4 + 60.4 s3 + 525.8 s2 + 1148 s + 660-s5 + 41.4 s4 + 441.4 s3 + 945 s2 + 4060 s + 15002. 使用2种以上的方法判断以下系统的稳定性(1).方法一:程序:clcnumo=1;deno=1 1 2 23;numc,denc=cloop(numo,deno)z,p,k=tf2zp(numc,denc)i=find(real(p)0)n=l
7、ength(i)if n0 disp(system is unstable)else disp(system is stable)end运行结果:numc = 0 0 0 1denc = 1 1 2 24z = Empty matrix: 0-by-1p = -3.0000 1.0000 + 2.6458i 1.0000 - 2.6458ik = 1i = 2 3n = 2system is unstable(2).方法二:程序:clcnumo=1;deno=1 1 2 23;numc,denc=cloop(numo,deno,-1)pzmap(numc,denc)运行结果:3. 已知2输入2
8、输出系统状态方程如下, 1) 试求系统的传递函数。 考虑ss2tf函数的使用方法:b,a = ss2tf(A,B,C,D,iu) 2) 绘制单位阶跃响应曲线。1).程序:clcA=-1 -1;6.5 0;B=1 1;1 0;C=1 1;1 0;D=0 0;0 0;num1,den1=ss2tf(A,B,C,D,1)num2,den2=ss2tf(A,B,C,D,2)sys1=tf(num1(1,:),den1)sys2=tf(num1(2,:),den1)sys3=tf(num2(1,:),den2)sys4=tf(num2(2,:),den2)运行结果:num1 = 0 2.0000 6.5
9、000 0 1.0000 -1.0000den1 = 1.0000 1.0000 6.5000num2 = 0 1.0000 6.5000 0 1.0000 0.0000den2 = 1.0000 1.0000 6.5000 Transfer function: 2 s + 6.5-s2 + s + 6.5 Transfer function: s - 1-s2 + s + 6.5 Transfer function: s + 6.5-s2 + s + 6.5 Transfer function:s + 3.553e-015-s2 + s + 6.52).程序:subplot(2,2,1)st
10、ep(sys1);title(step response of sys1)subplot(2,2,2)step(sys2);title(step response of sys2)subplot(2,2,3)step(sys3);title(step response of sys3)subplot(2,2,4)step(sys4);title(step response of sys4)运行结果:4. 已知系统的开环传递函数G(s)如下,使用subplot函数在同一窗口中绘制输入信号为u1和u2时,该系统的时域响应曲线。 程序:clcz=;p=0,-4;k=25;numo,deno=zp2tf(z,p,k);numc,denc=cloop(numo,deno);t=0:0.01:10;u1=1+0.2*sin(4*t);u2=0.3*t+0.3*sin(5*t);subplot(2,1,1)lsim(numc,denc,u1,t);grid onsubplot(2,1,2)lsim(numc,denc,u2,t);grid on运行结果:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1