控制系统CAD综合大作业
- 格式:doc
- 大小:134.50 KB
- 文档页数:6
《MATLAB 基础与控制系统CAD 》仿真作业
学生学号: 0910200313 学生姓名: 马丽
一、 求如下非线性二阶系统的时间响应(20分)
32
122111/8.0/x
x dt dx x e x dt dx t -=+-=-
其中2)0(,0)0(21==x x ,要求绘出]3,0[∈t 的系统状态响应曲线。 解: 建立M 文件
function yp=a(t,x) yp=zeros(2,1);
yp(1)=-x(1)*exp(1-t)+0.8*x(2); yp(2)=x(1)-x(2)^3; 在命令行求解: y0=[0,2]
[t,x]=ode45(‘a’,[0,3],y0); plot(t,x(:,1),t,x(:,2)); 结果如下图
二、 已知系统的开环传递函数如下 (20分)
210
()525
G s s s =++
(1) 把G(s)转换成零极点形式的传递函数,判断开环系统稳定性。 (2) 判别系统在单位负反馈下的稳定性,并求出闭环系统在0~10秒内的脉
冲响应和单位阶跃响应,分别绘出响应曲线。
解(1)
num=[10]; den=[1,5,25]; [z,p,k]=tf2zp(num,den) 结果: z = Empty matrix: 0-by-1
p =
-2.5000 + 4.3301i -2.5000 - 4.3301i
k =
10
则所求零极点传递函数为
)
3301.45000.2)(33301.45000.2(10
)(j s j s s G ++-+=
由零极点传递函数可知,函数的极点都在s 平面的左半平面,所以该开环系统稳定.
(3) 由开环传递函数可得单位负反馈的传递函数为
35
510
)(2++=s s s T
脉冲响应:
num=[10]; den=[1,5,35];
impulse(num,den,0:0.1:10);
阶跃响应
num=[10]; den=[1,5,35]; step(num,den,0:0.1:10)
三、 某单位负反馈系统如下图所示,(20分)
(1) 当比例控制器增益K =1时,在Simulink 中搭建系统,当输入为阶跃函
数时,用示波器观察系统的输出,绘出输出曲线。
(2) 把(1)中的对象输出和时钟输出输入Workspace 中,通过在命令窗口中执
行M 文件求出系统在阶跃输入下的超调量(%σ)和峰值时间(p t ),写出源程序。
(3) 调节控制器增益,使超调量%32%σ<且稳态误差2.0 值的范围。 解 搭建的系统如图 响应曲线 (2) function y=dongtai(t,x) [a,b]=max(x); i=1; while (x(i+3)-x(i))/x(i)>0.002||(x(i+3)-x(i))/x(i)<-0.002 i=i+1; end overshoot=(x(b)-x(i))/x(i) tp=t(b) 在命令窗口调用指令为: dongtai(t,y) 运行结果: overshoot = 0.1136 tp = 0.7839 q=1; w=1; t=[]; for n=1:0.00001:7; number=10*n; fenmu=[1 5 10]; sys=tf(number,fenmu); close_sys=feedback(sys,1); k=step(close_sys); overshoot=(max(k)-dcgain(close_sys))/dcgain(close_sys); a(s)=overshoot; w=w+1; ess=abs(1-dcgain(close_sys)); b(s)=ess; if ess<0.2& overshoot<0.32 t(u)=n; u=u+1; end; end; zuixiao=min(t) zuida=max(t) 输出: zuixiao = 4 zuida = function y=dongtai(t,x,k) [a,b]=max(x); i=1; while (x(i+3)-x(i))/x(i)>0.002||(x(i+3)-x(i))/x(i)<-0.002 i=i+1; end overshoot=(x(b)-x(i))/x(i) ess=1/(1+k) 命令窗口指令: dongtai(t,y,5.004) 运行结果: overshoot = 0.3200 ess = 0.1666 注意:1.仿真报告提交打印稿,由班长收齐后,于12月30日前统一提交。 2.仿真报告要求给出仿真结果、绘制图形和结果分析,并附源程序。 3.仿真程序和报告须独立完成,报告要规范且简明扼要,严禁雷同。