控制系统仿真.docVIP

  • 31
  • 0
  • 约3.83千字
  • 约 21页
  • 2017-03-03 发布于湖北
  • 举报
《控制系统仿真》 (实验/学习总结)报告 题目: 经典控制系统分析 实验 经典控制系统分析 程序: num=[1,2,2]; den=[1,0];g=tf(num,den); rlocus(g) 图形: 4.11:已知闭环系统的传递函数为: 试求系统的超调量和过渡过程时间。 程序: num=conv(1301,[1 4.9]);den=conv(conv([1 5 25],[1 5.1]),[1 50]);G=tf(num,den) C=dcgain(G) %计算系统的终值 [y,t]=step(G);[Y,k]=max(y); percentovershoot=100*(Y-C)/C %计算超调量 i=length(t); while(y(i)0.98*Cy(i)1.02*C) i=i-1; end settlingtime=t(i) %计算调节时间 运行结果: Transfer function: 1301 s + 6375 ------------------------------------------ s^4 + 60.1 s^3 + 555.5 s^2 + 2653 s + 6375 C = 1.0000 percentovershoot = 16.9668 settlingtime = 1.6344 所得波形如下: 3.已知某控制系统的开环传递函数 试绘制系统的开环频率特性曲线,并求出系统的幅值与相位裕量。 程序: num=1.5;den=conv(conv([1 0],[1 1]),[1 2]);G=tf(num,den); bode(G) grid [Gm,Pm,Wcg,Wcp]=margin(G) %Gm,Pm,Wcg,Wcp分别为幅值稳定裕度,相角稳定裕度,相角穿越频率,幅值穿越频率 运行结果: Gm = 4.0000 Pm = 41.5340 Wcg = 1.4142 Wcp = 0.6118 5、对下面传递函数给出的对象模型 绘制根轨迹曲线,并得出在单位反馈下使得闭环系统稳定的K值范围。对在单位反馈下使闭环系统稳定的K值允许范围内的K值绘制阶跃响应,分析不同K值对系统响应有何影响,并给出必要的解释。 程序与运行结果: den=conv([0.5 1],conv([0.2 1],[0.1 1])); num=[-0.5 1]; g=tf(num,den); rlocus(g) 在命令窗口输入:[k,pples]=rlocfind(g),再将图形局部放大。如上图右图: 再放大图上选中与虚轴相交处的点,然后命令窗口上即出现如下的运行结果: selected_point = -0.0000 + 3.6978i k = 1.3260 pples = -16.9991 -0.0004 + 3.6991i -0.0004 - 3.6991i 由此可知,使系统稳定的K值范围是:0K1.326。 通过在命令窗口输入rltool即可分析系统的性能。下图是在K=0.32时所得的图形,等幅振荡说明K=0.326是使系统稳定的临界值。 在rltool界面下选择analysis菜单,单击rsponse to step command,设定k=0.8,即得下图 同样地,通过在current compensator中输入不同的K值,既可以看到相应的阶跃响应,分析后我们发现:在使闭环系统稳定的K值允许范围内的K值越大,超调量越大,上升时间越快,调节时间越长,即“快”得到改善,但“稳”却有所下降。 另外也可以通过如下程序得到不同的K值,然后分析系统的性能: num=[-0.5 1]; G=tf(num,conv(conv([0.5 1],[0.2 1]),[0.1 1])); k=[0.2,0.6,1,1.2] for i=1:4 g=feedback(k(i)*G,1); step(g), hold on end 8. 系统A: 系统B: (1)用控制系统工具箱中的函数求给定系统的阶跃响应,并求出相应的性能指标:上升时间、峰值时间、调节时间及超调量。编写MATLAB程序并给出结果;如果不使用step()函数,求给定系统的阶跃响应。 (2) 求解给定系统的频率响应,编写MATLAB程序并给出结果。 (3) 绘制系统的根轨迹,并对系统的性能进行分析,编写MATLAB程序并给出结果。 系统A:程序,clear all num=2;den=[1,2,2];G=tf(num,den); grid on;step(G);a=[w

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档