MATLAB期末考试报告

更新时间:2024-02-28 10:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《MATLAB/Simulink与控制系统仿真》结业报告

专 业:电气工程及其自动化

班 级:

学 号:

姓 名:

指导教师:

湖北民族学院2017年秋季学期考查课试卷 课 程 MATLAB/Simulink与控制系统仿真 耿东山 一 A或B 姓名 使用班级 0315405-08 单位 审核人 制卷份数 命题人 题 号 评 分 阅卷人 试卷 审核人 三 五 八 答题纸数 十 班级 学号 分数 二 四 六 七 九 合计 2、一单位负反馈控制系统的开环传递函数为G(s)?1.5s?3。(1)利用MATLAB建320.25s?1.25s?s立上述控制系统的3类数学模型;(2)利用MATLAB绘制系统的单位阶跃响应曲线和单位冲激响应曲线;(3)利用LTIViewer工具绘制系统的单位阶跃响应曲线和单位冲激响应曲线。 解:(1) num=[1.5 3]; den=[0.25 1.25 1 0] G=tf(num,den) %传递函数模型 [tt,ff]=tfdata(G,'v') %提取传递函数的分子和分母多项式 [z, p, k]=tf2zp(num,den) %提取传递函数的零极点和增益 程序运行结果如下 num = 1.5000 3.0000 den = 0.2500 1.2500 1.0000 0 G = 1.5 s + 3 ----------------------- %传递函数模型 0.25 s^3 + 1.25 s^2 + s Continuous-time transfer function. tt = 0 0 1.5000 3.0000 ff = 0.2500 1.2500 1.0000 0 z = -2 %系统的零点 p = 0 %系统的极点 -4 -1 k = 6 %系统的增益 系统的零极点模型G(s)?(6s?2) s(s?4)(s?1)

num=[1.5 3]

den=[0.25 1.25 1 0] [A,B,C,D]=tf2ss(num,den)

程序运行得到状态空间模型的系数

A = -5 -4 0 1 0 0 0 1 0

B = 1 0 0

C = 0 6 12 D = 0

状态空间模型如下

?-5X???1??0Y??06-40??1??0?u00?x?????10???0??12?x

(2)运行程序

clear all num=[1.5 3]

den=[0.25 1.25 1 0] G=tf(num,den) figure(1)

impulse(G) %冲激响应

grid on figure(2)

step(G) %阶跃响应 grid on

图 1 阶跃响应曲线图 2 冲激响应曲线

(3)利用LTIViewer工具绘制系统的单位阶跃响应曲线和单位冲激响应曲线如下图

5、某单位负反馈控制系统的动态结构图如下:

kStepk-s+22s +3sG(s)Scope

试完成如下任务:(1)在MATLAB中建立上述控制系统的数学模型;(2)绘制系统的根轨迹曲线;(3)判断点?2?i10是否在根轨迹曲线上;(4)确定使闭环系统稳定的k的取值范围。

解:(1)程序如下 取K=1

clear all num=[-1 2] den=[1 3 0] G=tf(num,den)

G_inner=feedback(G,1) %反馈传递函数 运行结果

G_inner = -s + 2 -------------

s^2 + 2 s + 2

即系统的总体传递函数为

G(s)?-s?2

s^2?2s?2(2 )运行程序

clear all num=[-1 2] den=[1 2 2] G=tf(num,den) rlocus(G)

[k,poles]=rlocfind(G) %计算所选定点的增益和其它闭环极点 title('根轨迹图')

运行结果如下、

Select a point in the graphics window%以十字光标提示在图形窗口的根轨迹上选择一点 selected_point = %选择以下点 -0.0261 + 2.4768i

%计算输出该点对应的增益k和该k值下其它的极点polse

k = 1.9961 poles =

-0.0020 + 2.4479i -0.0020 - 2.4479i

(3)由上图可知不在根轨迹上

(4)由(2)可知k的取值范围为0

8、给定单位负反馈控制系统的开环传递函数G(s)分别为

100100、0.2s2?s0.4s3?3s2?5.4s?2及

1000,试利用LTIViewer工具分别绘制其Bode图和Nyquist曲线,并判断4320.2s?1.4s?2s100

0.2s^2?s系统的稳定性。若系统稳定,利用margin命令计算系统的相角裕量和增益裕量。 解:(1)G(s)?程序如下

num=[0 100]; den=[0.2 1 0] G=tf(num,den) w=logspace(-1,4,50) bode(G,w) grid on

[Gm,Pm,Wcg,Wcp]=margin(G) 运行结果

Gm = Inf %幅值稳定裕量

Pm = 12.7580 %相角稳定裕量 Wcg = Inf %相角穿越频率 Wcp = 22.0825 %幅值穿越频率

结论:由nyqiust图可看出,开环系统的S右半平面无极点,因此开环系统是稳定的。根据开环系统的nyqiust图和nyqiust判据可知,闭环系统稳定 (2)

100G(s)?

(0.2s?1)(s?2)(2s?1)程序如下

z=[];p=[-5 -2 -0.5];k=250 G=zpk(z,p,k)

bode(G) margin(G) grid on

结论:由nyqiust图可看出,开环系统的S右半平面有一个极点,因此开环系统不稳定。根据开环系统的nyqiust图和nyqiust判据可知,闭环系统是不稳定的 (3)

G(s)?1000

s(s^2?2s)(0.2s?1)程序如下

clc

z=[];p=[0 0 -2 -5];k=5000

G=zpk(z,p,k) G=tf(num,den) w=logspace(-1,4,50) bode(G,w) grid on

[Gm,Pm,Wcg,Wcp]=margin(G) 运行结果

Gm = Inf %幅值稳定裕量 Pm = 12.7580 %相角稳定裕量 Wcg = Inf %相角穿越频率 Wcp = 22.0825 %幅值穿越频率

结论:由nyqiust图可看出,开环系统的S右半平面无极点,因此开环系统稳定。根据开环系统的nyqiust图和nyqiust判据可知,闭环系统是稳定的

10、给定非线性控制系统的动态结构图如下,其中饱和环节的线性区为[-1,1],斜率为1。试分析系统的稳定性,并绘制系统的阶跃响应曲线。

10s(s+1)(s+2)StepSaturationG(s)Scope

解:利用Simulink建模如下图

图 3 未加饱和非线性环节的系统

利用Simulink仿真得到如下图的阶跃响应曲线

图 4 未加饱和非线性环节的系统阶跃响应曲线

图 5 加饱和非线性环节的系统

图 6 加饱和非线性环节的系统阶跃响应曲线

由图2和图4可知系统不稳定,阶跃响应曲线有显著的振荡。饱和环节对信号有限幅的作用,加入饱和环节后,系统的阶跃响应速度变慢。

13、某离散控制系统的结构图如下,试:(1)在MATLAB中建立此控制系统的模型;(2)采样周期值为1s,判断系统的稳定性,并绘制系统的阶跃响应曲线。

解:(1)系统的模型如下、

(2)建立系统数学模型,程序代码如下

clc clear

Ts=1 %采样周期 num=[4] % den=[1 3 2 0]

sys_continue=tf(num,den) %连续系统的传递函数

sys_discrete=c2d(sys_continue,Ts,'zoh') %离散系统的传递函数 sys_k=1 %系统的开环增益

sys_open=sys_k*sys_discrete %系统的开环传递函数

程序运行结果 Ts = 1 num = 4

den = 1 3 2 0 sys_continue = 4

----------------- s^3 + 3 s^2 + 2 s Continuous-time transfer function. sys_discrete =

0.3362 z^2 + 0.6815 z + 0.07547 -----------------------------------

z^3 - 1.503 z^2 + 0.553 z - 0.04979 Sample time: 1 seconds

Discrete-time transfer function. sys_k = 1

sys_open = 0.3362 z^2 + 0.6815 z + 0.07547 -----------------------------------

z^3 - 1.503 z^2 + 0.553 z - 0.04979 Sample time: 1 seconds

绘制系统的根轨迹,代码如下

figure(1)

rlocus(sys_discrete) %绘制离散系统的根轨迹

图 7 离散控制系统的根轨迹图

从图5可知根轨迹和单位圆的交点处的开环增益K=0和0.65,即闭环系统稳定的K的范围是0

分析系统的阶跃响应

给K赋不同的值(令K=0.3,0.65,1)程序如下

sys_k=0.3 %设定系统增益为0.3 figure(2)

sys_close=feedback(sys_k*sys_discrete,1) %计算闭环系统的传递函数 [dnumc,ddenc]=tfdata(sys_close,'v') %提取闭环传递函数的零极点 dstep(dnumc,ddenc,25) %绘制闭环控制系统的阶跃响应曲线

sys_k=0.65 figure(3)

sys_close=feedback(sys_k*sys_discrete,1) %计算闭环系统的传递函数 [dnumc,ddenc]=tfdata(sys_close,'v') %提取闭环传递函数的零极点 dstep(dnumc,ddenc,25) %绘制闭环控制系统的阶跃响应曲线

sys_k=1 figure(4)

sys_close=feedback(sys_k*sys_discrete,1) %计算闭环系统的传递函数 [dnumc,ddenc]=tfdata(sys_close,'v') %提取闭环传递函数的零极点 dstep(dnumc,ddenc,25) %绘制闭环控制系统的阶跃响应曲线

图 8 K=0.3时闭环系统的阶跃响应曲线

图 9 K=0.65时闭环系统的阶跃响应曲线

图 10 K=1时闭环系统的阶跃响应曲线

从图6、7、8中可以看出,当K=0.3时,闭环系统稳定,阶跃响应曲线收敛,并且系统的静态误差接近为0;当K=0.65时,闭环系统临界稳定,系统阶跃响应曲线等幅震荡;当K=1时,闭环系统不稳定,阶跃响应曲线是发散的。

MATLAB课程学习总结和体会

随着计算机技术的发展和应用,自动控制理论和技术在宇航、机器人控制等高新技术领域

中的应用也愈来愈深入广泛。不仅如此,自动控制技术的应用范围现在已扩展到生物、医学、经济管理和其它许多社会生活领域中,成为现代社会生活中不可缺少的一部分。随着时代进步和人们生活水平的提高,建设高度文明和发达社会的活动中,自动控制理论和技术必将进一步发挥更加重要的作用。 一、MATLAB在自动控制中的应用 (一)利用Matlab进行系统稳定性判定

稳定性是指控系统在受扰动信号作用,原有平衡状态破坏后,经过自动调节能够重新达到平衡状态的性能。当系统在扰动信号作用下偏离了原有的状态时,若系统能通过自身的调节作用使得偏离差逐渐减小,重新回到平衡状态,则系统是稳定的;若偏离差不断增加,即使扰动消失,系统也不能回到平衡状态,则这种系统是不稳定的,这表明稳定性是表征系统在扰动消失后的一种恢复能力,它是系统的一种固有特性。系统的稳定性又分为两种:一种是大范围的稳定,即初始偏差可以很大,但系统仍然稳定;另一种是小范围稳定,即初始偏差必须在一定限度内系统才稳定,超出了这个限定值则不稳定。对于线性系统,如果小范围内是稳定的,则它的大范围也是稳定的。而非线性系统不存在类似结论。

任何一个自动控制系统正常运行的首要条件是,它必须是稳定的。因此,判别系统的稳定性和使系统处于稳定的工作状态,是自动控制的基本问题之一。稳定性是系统去掉扰动以后,系统自身的一种恢复能力,是系统本身所固有的特性。它仅仅取决系统的结构参数,而与初始条件及输入信号无关。根据分析我们知道,如果系统所有的闭环特征根(闭环极点)都分布在S平面左半部,则系统的暂态分量随时间增加逐渐消失为零,这种系统是稳定的。如果有一个或一个以上的闭环特征根是位于S平面右半部或虚轴上,则系统是不稳定的。 (二)利用Matlab进行系统时域分析

对控制系统而言,其数学模型由微分方程和差分方程给出,因此可以从给定的初始值开始,通过某种算法逐步求出系统某一时刻的响应,从而丝线对控制系统的分析。此外,通过对系统的时域分析,可以求得系统响应的性能指标。

在经典控制理论中,时域分析法是一种十分重要的分析和设计控制系统的方法,它包括系统稳定性分析、动态性能和稳态性能指标的计算等内容。时域分析法是通过传递函数、拉氏变换及其反拉氏变换求出系统在典型输入下的输出表达式,从而分析系统的时间响应的全部信息。与其他分析法相比较,时域分析法是一种直接分析法,具有直观和准确的优点,尤其适用于一、二阶系统的分析计算。

与控制系统的其他Matlab仿真一样,时域响应Matlab的仿真方法也可以在Matlab函数的

指令方式下进行时域仿真,对于线性系统,Matlab控制系统工具箱提供了若干函数完成线性系统的仿真。

(三)利用Matlab进行根轨迹绘制

在系统控制分析中,为了避开直接求解高阶多项式的根时遇到的困难,在实践中提出了一种图解求根法,即根轨迹法。所谓根轨迹法是指当系统的某一个(或几个)参数从-∞到+∞时,闭环特征方程的根在复平面上描绘的一些曲线。应用这些曲线,可以根据某个参数确定相应的特征根。在根轨迹法中,一般取系统的开环放大倍数K作为可变参数。

由于根轨迹是以K为可变参数,根据开环系统的零极点画出来的,因而它能反应出开环系统零极点与闭环系统极点(特征根)之间的关系。利用根轨迹可以分析系统参数和结构已定的系统的时域响应特性,以及参数变化对时域响应特性的影响,而且还可以根据对时域响应特性的要求确定可变参数及调整开环系统零极点的位置,并改变它们的个数,也就是说根 轨迹法可用于解决线性系统的分析与综合问题。 二、学习MATLAB的心得体会

通过几周的理论课程学习知道了MATLAB的一些基本应用,了解到该怎样去使用MATLAB,经过几次几次实验和课下的自学深深的体会到了MATLAB这个软件功能的强大,它有强大的运算能力,数据处理能力,特别是它的的矩阵运算在数学和其它领域有及其重要的应用。

我们的课程实验内容主要是自控理论方面的,因此我学会了调用一些函数来进行各种系统的分析,掌握了多种不同的方法来分析系统,算不上精通,我觉得想要能够对这个软件的功能有充分的了解需要进行长时间的学习,并且不断的去应用它,才能提高自己对这个软件的应用能力。短时间内,通过做几次实验想达到掌握这个软件我觉得这是非常困难的一件事情。这门课程开设的时间很短,但我想主要的应该是自己课下去学习,今后我想课下花费一些时间,慢慢地去学习应用这个软件,达到熟练掌握的程度。我觉得这这个课程开设的意义所在是让学生知道并且对这个软件有一定的了解之后,主动去学习它。

本文来源:https://www.bwwdw.com/article/j44a.html

Top