matlab实验报告1
- 格式:wps
- 大小:667.83 KB
- 文档页数:23
控制系统仿真与CAD实验报告
一.实验内容:
控制系统稳定性,时域和频域分析的matlab实现(第三章)二.实验环境:
MATLAB2009a软件
2三.实验过程:
1.已知典型二阶系统的传递函数为
其中,自然频率为6,绘制当阻尼比分别为0.1,0.2,0.707,1.0,2.0 时系统的单位阶跃响应曲线。
(1)实验程序:
wn=6; kosi=[0.1,0.2,0.707,1.0,2.0];
hold on;
for kos=kosi
num=wn^2;
den=[1,2*kos*wn,wn^2];
step(num,den)
end
(2)实验结果:
2.已知线性定常系统的状态空间模型为
试绘制其单位阶跃响应曲线。
(1)实验程序: a=[-1.6,-0.9,0,0; 0.9,0,0,0; 0.4,0.5,-5.0,-2.45; 0,0,2.45,0];
b=[1;0;1;0];c=[1,1,1,1];d=[0];
[]1.60.90010.900000.40.5 5.0 2.45100 2.45001111x u x --⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥--⎢⎥⎢⎥⎣⎦⎣⎦=[]1.60.90010.900000.40.5 5.0 2.45100 2.45001x x u
y x
--⎡⎤⎡⎤⎢⎥⎢⎥
⎢⎥⎢⎥=+⎢⎥⎢⎥--⎢⎥⎢⎥
⎣⎦⎣⎦
=
sys=ss(a,b,c,d); step(sys)
(2)实验结果:
3.已知双输入单输出线性定常系统的状态空间模型为
试绘制其单位阶跃响应曲线。 (1)实验程序:
a=[-0.5572 -0.7814;0.7814 0]; b=[1 -1;0 2];
[]-0.5572 -0.7814 1-10.7814
0021.9691 6.4493 x x u y x
⎡⎤⎡⎤=+⎢⎥⎢⎥⎣⎦⎣⎦=
c=[1.9691 6.4493];d=[0]; sys=ss(a,b,c,d); step(sys) (2)实验结果:
4已知两个系统的传递函数分别为
试绘制它们的单位阶跃响应曲线。 (1)实验程序: g1=tf([1 2 4],[1 10 5 4]); g2=tf([3 2],[2 7 2]); step(G1,'ro',G2,'b*')
()2232272s G s s s +=++()2
13
2
241054s s G s s s s ++=+++
step(g1,'ro',g2,'b*') step(g1,'r. ',g2,'b*') step(g1,'r. ',g2,'b*') (2)实验结果:
5 已知线性定常离散系统的脉冲传递函数为
试绘制其单位阶跃响应曲线。
(1)实验程序: num=[2,-3.4,1.5]; den=[1,-1.6,0.8]; dstep(num,den)
(2)实验结果:
2 3.4 1.5
z z -+()22
1.60.8
G z z z =-+
用户可根据实际需要定义响应点数N。若“dstep(num,den)”改写为“dstep(num,den,70)”,运行后得到的单位阶跃响应曲线如下图所示。
num=[2,-3.4,1.5];
den=[1,-1.6,0.8];
dstep(num,den,70)
若只需要绘制在第1个输入信号作用下的阶跃响应,可将语句“dstep(a,b,c,d)”改为“dstep(a,b,c,d,1)”
a=[-0.5572 -0.7814;0.7814 0];
b=[1 -1;0 2];
c=[1.9691 6.4493];d=[0];
dstep(a,b,c,d,1)
7 已知两个线性定常连续系统的传递函数分别为
试绘制它们的脉冲响应曲线。 (1)实验程序: G1=tf([1 2 4],[1 10 5 4]); G2=tf([3 2],[2 7 2]); impulse(G1,G2)
=()22
32
272
s G s s s +=++()2
132
241054s s G s s s s +++++
8 已知线性定常离散系统的脉冲传递函数为
计算并绘制其脉冲响应曲线。
(1)实验程序:
num=[1 2 4];
den=[1 10 5 4];
dimpulse(num,den)
()321054G z z z z =+++()232241054z z G z z z z ++=+++
9 线性定常离散系统的状态空间模型为:
计算并绘制其脉冲响应曲线。
a=[-0.5572 -0.7814;0.7814 0];
b=[1 -1;0 2];
c=[1.9691 6.4493];d=[0];
dimpulse(a,b,c,d)
0.55720.781411 1
0.7814002
1.9691 6.4493
a=[-0.5572 -0.7814;0.7814 0]; b=[1 -1;0 2];
c=[1.9691 6.4493];
d=[0];
dimpulse(a,b,c,d,1)