MATLAB 结课小论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的控制系统分析
摘要
MATLAB具有强大的图形处理功能、符号运算功能和数值计算功能。MATLAB 工具几乎涵盖了整个科学技术运算领域。其中系统的仿真(Simulink)工具箱是从底层开发的一个完整的仿真环境和图形界面。在这个环境中,用户可以完成面向框图系统仿真的全部过程,并且更加直观和准确地达到仿真的目标。此次,以数字电路中的时序逻辑电路为线索来学习Simulink,了解了许多数字电路中常用模块的使用方法.时序电路中除具有逻辑运算功能的组合电路外,还必须有能够记忆电路状态的存储单元或延迟单元,这些存储或延迟单元主要由本次设计所用到的触发器来实现。D触发器、RS触发器、JK触发器等这些时序逻辑电路中常用的器件在Simulink中都有相应的仿真模块,除此之外,用户还可以自行设计封装模块来一步一步完成更大的电路系统,实现更强大的逻辑功能。
关键词:MATLAB、Simulink、时序电路
1Matlab内容简介
MATLAB拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB工具几乎涵盖了整个科学技术运算领域。在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把MATLAB作为必不可少的内容。在国际学术界,MATLAB被确认为最准确可靠的科学计算标准软件,在许多国际一流的学术刊物上都可以看到MATLAB在各个领域里的应用。
2系统的稳定性分析
稳定是控制系统的重要性能,也是系统能够正常运行的首要条件。在分析控制系统时,首先遇到的问题就是系统的稳定性。对线性系统来说,如果一个系统的所有几点都位于左半s 平面,则该系统是稳定的。对于离散系统来说,如果一个系统的全部极点都在单位圆内,则该系统可以被认为是稳定的。由此可见,线性系统的稳定性完全取决于系统的极点在根平面上的位置。
判断一个线性系统稳定性的一种最有效的方法是直接求出系统所用的极点,然后根据极点的分布情况来确定系统的稳定性。下面举一个具体的例子进行说明:
【例一】已知闭环系统的传递函数为
G (s )=1
225324232345234+++++++++s s s s s s s s s 判断系统的稳定性,并给出不稳定极点
可以采用下面的MATLAB 程序
%ex1.m
num=[32142];den=[351221];
[z,p]=tf2zp(num,den);
ii=find(real(p)>0);n1=length(ii);
if(n1>0)
disp(‘The Unstable Poles are:’);
disp(p(ii));
else disp(‘System is Stable’);end
执行结果显示:
The Unstable Poles are :
0.4103+0.6801i
0.4103-0.6801i
在增加一下两条语句,则可画出如图所示的零极点图
》pzmap(num,den);title(‘Zero-Pole Map’)
-2-1.5-1
-0.500.5
-1-0.8
-0.6
-0.4
-0.2
00.20.40.6
0.8
1
Real Axis I m a g i n a r y A x i s 这是一个高阶系统,如果用人工计算的话就是十分麻烦的了,而且容易出现很多错误,还会影响控制系统的开发时间。而运用MATLAB 软件就可以用几句简单易懂的程序语句就可以得到简单直观的系统稳定性的结果,这无疑是给控制系统的分析与研究带来了极大地方便,这样正是MATLAB 软件在控制系统的分析领域应用得越来越广泛的原因之一。
除了上述的利用极点判断系统的稳定性,我们还可以运用MATLAB 的其它指令语句,利用特征值判断系统的稳定性;在高阶系统或者特征多项式中,当某些系数不是数值时,利用求闭环极点或特征值的方法来判断系统的稳定性是比较困难的。在这种情况下利用李雅普诺夫第二法来判断系统的稳定性比较有效。尤其在系统含有非线性环节时更是如此。运用MATLAB 软件进行求解则省去了复杂的运算,可以直接地得到结果。
3运用MATLAB 软件分析控制系统
对于一个控制系统而言仅仅关注它的稳定性是不够的,我们还要对自动控制系统做全面的分析以满足生产实际的要求,例如系统的动态性能、稳态误差等等。在控制工程中,几乎所用的控制系统都是高阶系统,即用高阶微分方程描述
的系统。对于不能用一、二阶系统近似的高阶系统来说,其动态性能指标的确定是比较复杂的,为了减少计算量和工作强度,工程上经常直接应用MATLAB 软件进行高阶系统的分析。
【例二】假设某一功能下系统的数学模型的闭环传递函数为:Φ(s)=6
1163
23+++s s s 由于Φ(s)=
)(1)(s G s G +,其开环函数为G(s)=
3116323+++s s s (1)系统的单位阶跃响应和脉冲响应
在运用MATLAB 软件分析系统的单位脉冲响应和单位阶跃响应的时候,我们可以调用MATLAB 软件的impulse 和step 指令,其指令格式为:
Y=impulse (sys ,t )当不带输出变量y 时,impulse 命令可以直接绘制脉冲响应曲线;t 用于设定仿真时间,可省略。
Y=step(sys,t)当不带出输出变量y 时,step 命令可以直接绘制出阶跃响应曲线;t 用于设定仿真时间,可以省略。
下面运用上面介绍的两条指令语句对上述系统进行仿真
MATLAB 程序为:
clear ;
close all ;
num =[3];
den =[16116];
subplot (2,1,1),step (num ,den);
subplot (2,1,2),impulse (num ,den);
系统的单位阶跃响应和脉冲响应如图所示: