内容发布更新时间 : 2024/11/9 6:33:09星期一 下面是文章的全部内容请认真阅读。
《自动控制原理》
实验报告
实验名称:实验五 MatlabSimulink仿真实验 院(系):专业: 姓名:学号:
实验室: 416 实验组别: 同组人员:实验时间: 评定成绩:审阅教师:
1
实验五Matlab/Simulink仿真实验
一、实验目的
(1)学习系统数学模型的多种表达方法,并会用函数相互转换。 (2)学习模型串并联及反馈连接后的系统传递函数。
(3)掌握系统BODE图、根轨迹图及奈奎斯特曲线的绘制方法,并利用其对系统进行分析。
(4)掌握系统时域仿真的方法,并利用其对系统进行分析。
二、预习要求
借阅相关Matlab/Simulink参考书,熟悉能解决题目问题的相关Matlab函数。
三、实验内容
1.已知H(s)=
0.05s?1,求H(s)的零极点表达式和状态空间表达式。
(0.2s?1)(0.1s?1)所以,根据输出结果,我们得到以下: H(s)的零极点表达式:
H(s)?状态空间表达式:
K?(s?zi)i?(s?pj)j?2.5(s?20)
(s?5)(s?10)?1???15?50?B?A???0?C??2.550?D??0? ?10????H1(s)?2.已知
s?5s(s?1)(s?2),
H2(s)?1s?1。
(1)求两模型串联后的系统传递函数。 (2)求两模型并联后的系统传递函数。
(3)求两模型在负反馈连接下的系统传递函数。 Matlab原代码如下:
num1 = [1,5];
den1 = conv([1,1],[1,2]); den1 = conv(den1,[1,0]); H1 = tf(num1,den1)
num2 = [1]; den2 = [1,1];
H2 = tf(num2,den2)
[num3,den3] = series(num1,den1,num2,den2); G1 = tf(num3,den3)
[num4,den4] = parallel(num1,den1,num2,den2);
2
G2 = tf(num4,den4)
G3 = feedback(H1,H2)
运行结果如下:
H1 =
s + 5 ----------------- s^3 + 3 s^2 + 2 s
Continuous-time transfer function.
H2 =
1 ----- s + 1
Continuous-time transfer function.
G1 =
s + 5 ------------------------- s^4 + 4 s^3 + 5 s^2 + 2 s
Continuous-time transfer function.
G2 =
s^3 + 4 s^2 + 8 s + 5 ------------------------- s^4 + 4 s^3 + 5 s^2 + 2 s
Continuous-time transfer function.
G3 =
s^2 + 6 s + 5 ----------------------------- s^4 + 4 s^3 + 5 s^2 + 3 s + 5 Continuous-time transfer function.
求出的传递函数如下:
s?5 432s?4s?5s?2ss3?4s2?8s?5并联传递函数:G2(s)?4
s?4s3?5s2?3s?5s2?6s?5反馈传递函数:G3(s)?4
s?4s3?5s2?3s?5串联传递函数:G1(s)?3.作出上题中(1)的BODE图,并求出幅值裕度与相位裕度。 Matlab原代码如下 (在2题的基础下增加下面三行代码) :
3
bode(num3,den3) grid on
[g,p,wg,wp] = margin(num3,den3)
运行结果如下: g =
0.5576 p =
-19.3662 wg =
0.7996 wp =
1.0612
BODE图如图2所示。 幅值裕度:Lg?0.5576 相位裕度:???19.3662
4
图2
G(s)?4.给定系统开环传递函数为
K(s?2)(s2?2s?5),绘制系统的根轨迹图与奈奎斯
特曲线,并求出系统稳定时的增益K的范围。
Matlab原代码如下:
clc;clear; num6=[1];
den6 = conv([1,2],[1,2,5]); G = tf(num6,den6)
[z1,k1] = rlocus(num6,den6); rlocus(num6,den6);
nyquist(num6,den6);
根轨迹如图3所示。
5