1、 MATLAB 基础与控制系统 CAD仿真作业学生学号: 学生姓名: 一、 求如下非线性二阶系统的时间响应(20 分)32121/8.0xdtxet其中 ,要求绘出 的系统状态响应曲线。)0(,)(1x ,t解:源程序:f=(t,x)-x(1)*exp(1-t)+x(2)*0.8;x(1)-x(2)3;t,x=ode45(f,0,3,0,2);subplot(121)plot(x(:,1),x(:,2),-)xlabel(x1)ylabel(x2)title(向量平面图)grid onsubplot(122)plot(t,x)xlabel(t)ylabel(x)legend(x1,x2)tit
2、le(状态响应曲线)grid on运行结果为:二、 已知系统的开环传递函数如下 (20 分)210()5Gss(1)把 G(s)转换成零极点形式的传递函数,判断开环系统稳定性。(2)判别系统在单位负反馈下的稳定性,并求出闭环系统在010 秒内的脉冲响应和单位阶跃响应,分别绘出响应曲线。解:(1) num=10; den=1 5 25; Z,P,K=tf2zp(num,den)Z =Empty matrix: 0-by-1P =-2.5000 + 4.3301i-2.5000 - 4.3301iK =10即转换成的零极点形式的传递函数为:= 10(+2.5000+4.3301)(+2.50004
3、.3301)可通过判断系统传递函数的极点是否在虚轴左半平面来判断系统的稳定性。稳定性判据:传递函数的极点在虚轴左半平面时系统稳定。 p=1 5 25; r=roots(p); rr =-2.5000 + 4.3301i-2.5000 - 4.3301i可以看出,传递函数的极点均在虚轴左半平面,因此该开环系统稳定。(2)首先求闭环反馈系统的传递函数,源程序如下:num=10; den=1 5 25; numc,denc=cloop(num,den)numc =0 0 10denc =1 5 35则系统的闭环传递函数为: 。1()=10 s2+5s+35p=1 5 35;r=roots(p)r =
4、-2.5000 + 5.3619i-2.5000 - 5.3619i根据稳定性判据,传递函数的极点均在虚轴左半平面,因此该闭环系统稳定。numc=10;denc=1 5 35;t=0:0.1:10;y1=impulse(numc,denc,t)y2=step(numc,denc,t);plot(t,y1,b-,t,y2,r:);grid;xlabel(Timesect);ylabel(y);title(脉冲响应和单位阶跃相应曲线);legend(脉冲响应曲线,单位阶跃响应曲线)绘制出的响应曲线如图所示:三、 某单位负反馈系统如下图所示, (20 分)(1)当比例控制器增益 K1 时,在 Sim
5、ulink 中搭建系统,当输入为阶跃函数时,用示波器观察系统的输出,绘出输出曲线。(2)把(1)中的对象输出和时钟输出输入 Workspace 中,通过在命令窗口中执行 M 文件求出系统在阶跃输入下的超调量( )%和峰值时间( ),写出源程序。pt(3)调节控制器增益,使超调量 且稳态误差 ,给 %322.0se出此时 K 值的范围。解:(1)在 Simulink 中搭建系统,构建的模型如图所示:点击示波器,观察输出的波形如图所示:(2)在 simulink 中建立如下模型:编写 M 文件如下:%计算闭环系统的传递函数:num=10;den=1 5 10;numc,denc=cloopnum,
6、den y,t,x=step(numc,denc) %求系统的阶跃响应执行结果:numc =0 0 10denc =1 5 20%即闭环系统的传递函数为: =102+5+20y =00.00230.00900.01960.03340.05020.06930.09040.11300.13690.16160.18690.21240.23790.26320.28800.31210.33550.35790.37940.39960.41870.43660.45310.46840.48240.49500.50640.51650.52550.53320.53990.54540.55000.55360.556
7、40.55840.55960.56010.56000.55940.55830.55680.55490.55270.55020.54750.54470.54180.53880.53570.53260.52960.52660.52360.52080.51800.51540.51290.51060.50840.50630.50440.50270.50110.49970.49840.49730.49630.49550.49480.49420.49370.49330.49310.49290.49280.49280.49280.49290.49310.49330.49360.49390.49420.494
8、50.49480.49520.49560.49590.49630.49670.49700.49740.49770.49800.49830.49860.49890.49920.49940.49960.49980.50000.50010.50030.50040.50050.50060.50070.50070.50080.50080.5008由 y 的值可以看出,系统阶跃响应的稳态值约为 0.5008。计算系统的超调量:y_stable=0.5008; %阶跃响应的稳态值max_response=max(y); %闭环系统阶跃响应的最大值sigma=( max_response-y_stable)/
9、y_stable %阶跃响应的超调量执行结果:sigma =0.1184即系统阶跃响应的超调量 为 11.84。%计算系统的峰值时间:max_response,index=may(y); %查找系统阶跃响应的最大值tp=x(index) %计算此时对应的时间,就是阶跃响应的峰值 运行结果:tp =0.8393(3)常按开环传递函数中所含的积分环节个数来对系统进行分类。该系统为 0 型系统,则系统静态位置误差系数 Kp为Kp=K。e ss= 。1 +1若使稳态误差 ess4。num1=10;den1=1,5,10;G1=tf(num1,den1);%此时输入不同情况下K的值G2=K*G1;G=feedback(G2,1) %系统为反馈连接,求其传递函数y,t=step(G); %单位阶跃响应的响应值y及相应时间tY,k=max(y) %求y的峰值及相应的时间C=dcgain(G); %求系统终值sigma=(Y-C)/C 通过改变 K 的值,观察超调量的变化。K 值增大,则超调量增大。逐渐增大 K 的值,当 K=4.39 时,sigma=0.3199,即 =31.99。当%K=4.4 时,sigma=0.3202。则 K=4.39。综上所述,增益 K 的值的范围为 4K4.39。