Simulink 的仿真实验报告
1.实验目的:熟悉使用Simulink的各种使用方法及仿真系统
2.数学建模:
假设系统的微分方程为:
r''(t)+3r'(t)+2r(t)=e(t) , 其中e(t)=u(t)
求该系统的零状态响应
令等式右边为零,则可求得方程的两个特征根为:
r1=-1, r2=-2
所以设该系统的零状态响应为:
r(t)=Ae^-t+Be^-2t+C
其中C为方程的一个特解,由微分方程可知,等式右边没有冲激函数及冲激函数的微分,故系统在零负到零正的过程中没有发生跳变,则C为一个常数。
将C带入方程可解得C=1/2
由于零状态响应时系统的初值都为零即r(0-)=0 , r'(0-)=0,且系统无跳变,则r(0+)=0.r'(0+)=0.带入r(t)得:
A+B+1/2=0
-A-2B+1/2=0
解得:A=-3/2 B=1
所以系统的零状态响应为:r(t)=-3/2e^-t+e^-2t+1/2
Simulink仿真:根据系统的微分方程可编辑仿真模型如下图
打开开始按键,可以得到波形图:
验证仿真结果:
由前面得到的系统零状态响应结果:
r(t)=-3/2e^-t+e^-2t+1/2
可编辑仿真模型:
>> t=(0:0.1:10);
>> plot(t,((-3)/2)*exp((-1)*t)+exp((-2)*t)+1/2)
实验结论:
Simulink仿真结果和函数仿真结果基本一致,所以simulink仿真是正确的。
实验心得:
1.此实验是利用matlab对一个微分方程进行建模求解,既要求我们掌握对微分方程的求解,又要求掌握用matlab对微分方程进行建模,所以要求我们对软件得熟悉。
2.信号与系统的实验主要是用matlab分析或验证书上的东西,前提当然是学好书本上的知识,再学好matlab这个软件。
3.用simulink仿真的时候,对函数用积分器较好,不知为什么用微分器做不出来,报错显示不出图形。
第二篇:东南大学自控实验报告_Matlab-Simulink_仿真实验
东南大学仪器科学与工程学院学院
实 验 报 告
课程名称: 自动控制原理
实验名称: Matlab/Simulink 仿真实验
院(系): 仪器科学与工程学院 专 业:测控技术与仪器
姓 名: 庄杰峰 学 号: 22012315
实验室: 机电实验平台 实验组别:
同组人员: 实验时间:2014 年 11 月27 日
评定成绩: 审阅教师:
目录
一、实验目的……………………………………….3
二、预习要求……………………………………….3
三、实验内容……………………………………….3
四、实验总结……………………………………….14
一、实验目的:
1. 学习系统数学模型的多种表达方法,并会用函数相互转换。
2. 学习模型串并联及反馈连接后的系统传递函数。
3. 掌握系统BODE图,根轨迹图及奈奎斯特曲线的绘制方法。并利用其对系统进行分析。
4. 掌握系统时域仿真的方法,并利用其对系统进行分析。
二、预习要求:
借阅相关Matlab/Simulink参考书,熟悉能解决题目问题的相关Matlab函数。
三、实验内容:
1.已知H(s)=,求H(s)的零极点表达式和状态空间表达式。
答:
(1)零极点表达式:
>> num=[0.05 1];
den=conv([0.2 1],[0.1 1]);
sys1=tf(num,den)
sys2=zpk(sys1)
sys1 =
0.05 s + 1
--------------------
0.02 s^2 + 0.3 s + 1
Continuous-time transfer function.
sys2 =
2.5 (s+20)
------------ % 零极点表达式
(s+10) (s+5)
Continuous-time zero/pole/gain model.
状态空间表达式:
>> num=[0.05 1];
den=conv([0.2 1],[0.1 1]);
sys1=tf(num,den);
sys3=ss(sys1)
sys3 =
a =
x1 x2
x1 -15 -6.25
x2 8 0
b =
u1
x1 4
x2 0
c =
x1 x2
y1 0.625 1.562
d =
u1
y1 0
Continuous-time state-space model.
2.已知,。
(1) 求两模型串联后的系统传递函数。
答:
>> m1=[1,5];
n1=conv([1],conv([1,1],[1,2]));
m2=1;
n2=[1,1];
[m,n]=series(m1,n1,m2,n2)
G=tf(m,n)
m =
0 0 1 5
n =
1 4 5 2
G =
s + 5
--------------------- % 两模型串联后的系统传递函数 H(s)=H1(s)*H2(s)
s^3 + 4 s^2 + 5 s + 2
Continuous-time transfer function.
(2) 求两模型并联后的系统传递函数。
答:
>> m1=[1,5];
n1=conv([1],conv([1,1],[1,2]));
m2=1;
n2=[1,1];
[m,n]=parallel(m1,n1,m2,n2)
G=tf(m,n)
m =
0 2 9 7
n =
1 4 5 2
G =
2 s^2 + 9 s + 7
--------------------- % 两模型并联后的系统传递函数H(s)=H1(s)+H2(s)
s^3 + 4 s^2 + 5 s + 2
Continuous-time transfer function.
(3) 求两模型在负反馈连接下的系统传递函数。
答:
>> m1=[1,5];
n1=conv([1],conv([1,1],[1,2]));
m2=1;
n2=[1,1];
[m,n]=feedback(m1,n1,m2,n2,-1)
G=tf(m,n)
m =
0 1 6 5
n =
1 4 6 7
G =
s^2 + 6 s + 5
--------------------- % 两模型在负反馈连接下的系统传递函数
s^3 + 4 s^2 + 6 s + 7
Continuous-time transfer function.
3. 作出上题中(1)的BODE图,并求出幅值裕度与相位裕度。
答:
>> num=[1,5];
den=[1,4,5,2];
w=logspace(-1,2);
sys=tf(num,den)
bode(num,den);
[g,p,wg,wp]=margin(sys)
sys =
s + 5
---------------------
s^3 + 4 s^2 + 5 s + 2
Continuous-time transfer function.
g =
% 幅值裕度
18.0016
p =
% 相位裕度
67.3499
wg =
% 相角频率
4.7960
wp =
% 截止频率
1.1127
l 幅值裕度 g = 18.0016
l 相位裕度 p = 67.3499
l 相角频率 wg=4.7960
l 截止频率 wp=1.1127
l Bode图
4.给定系统开环传递函数为,绘制系统的根轨迹图与奈奎斯特曲线,并求出系统稳定时的增益K的范围。
答:
(1)代码
>> num=[1];
den=conv([1,2],[1,2,5]);
G=tf(num,den)
figure(1)
pzmap(G);
figure(2)
rlocus(G);
figure(3)
nyquist(G)
G =
1
----------------------
s^3 + 4 s^2 + 9 s + 10
Continuous-time transfer function.
(2)零极点分布图和根轨迹图
图1 零极点分布图
图2 根轨迹图
(3)奈奎斯特曲线
图3 Nyquist图
图4 Nyquist图
(4)系统稳定时的增益K的范围
根轨迹曲线(标记处为 K 的临界值) 从图中得出其坐标为 0+3.01i ,此时 K 的临界值为 25.7。即当增益K<25.7时,系统稳定。
>> [r,k]=rlocus(num,den)
r =
1.0e+02 *
-0.0100 + 0.0200i -0.0100 - 0.0200i -0.0200
-0.0091 + 0.0205i -0.0091 - 0.0205i -0.0217
-0.0085 + 0.0209i -0.0085 - 0.0209i -0.0231
-0.0074 + 0.0218i -0.0074 - 0.0218i -0.0253
-0.0057 + 0.0233i -0.0057 - 0.0233i -0.0286
-0.0035 + 0.0256i -0.0035 - 0.0256i -0.0330
-0.0006 + 0.0292i -0.0006 - 0.0292i -0.0388
0.0030 + 0.0341i 0.0030 - 0.0341i -0.0459
0.0074 + 0.0407i 0.0074 - 0.0407i -0.0547
0.0128 + 0.0491i 0.0128 - 0.0491i -0.0655
0.0194 + 0.0598i 0.0194 - 0.0598i -0.0788
0.7746 + 1.3650i 0.7746 - 1.3650i -1.5893
Inf Inf Inf
k =
1.0e+06 *
Columns 1 through 10
0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0002
Columns 11 through 13
0.0003 3.9147 Inf
5、对内容4中的系统,当K=10和40时,分别作出闭环系统的阶跃响应曲线,要求用Simulink实现。
答:
(1) K=10
l 闭环系统的阶跃响应曲线
(2) K=40
l 闭环系统的阶跃响应曲线
(3) 实验结论
由图中可以看出:
K=10时,曲线收敛,系统趋于稳定;
K=40时,曲线发散,系统不稳定。
四、实验总结
在本次实验中,通过对 MATLAB 实验的边做边学,,我对课程中有些不理解的内容进一步加深了印象。我想起我当时学习根轨迹画图时,总是感觉很纠结,感觉画图不准确或者不理解,而这次通 过 MATLAB 简单地敲几个代码进去而画出了根轨迹的图,加深对课本中知识的理解,受益很多。最后,特别感谢此次实验课老师的悉心辅导和自控原理老师的课堂理论教导!