基于MATLAB的控制系统分析摘要:运用MATLAB软件处理和仿真,分析所建立的控制系统模型的可行性。利用MATLAB平台分析系统传递函数的稳定性,利用MATLAB软件得出系统的单位阶跃响应和脉冲响应,分析说明MATLAB在自动控制系统方面的应用。关键词:控制系统MATLAB稳定性Simulink0引言自动控制技术已经广泛应用于工业、农业、交通运输业、航空及航天业等众多产业部门,极大地提高了社会劳动生产率,改善了人们的劳动条件,丰富与提高了人们的生活水平。在当今的社会生活中,自动化装置无所不在,为人类文明进步做出了重要贡献。随着科学技术的发展,控制系统变得越来越复杂,控制理论和系统的分析如果仅靠人工计算已经远远不能满足学习和研究的要求了。MATLAB是高性能的数值计算和可视化软件,他集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面友好的用户环境。MATLAB的出现给控制系统的分析提供了极大的方便。MATLAB(MatixLaboratory,即“矩阵实验室”)是美国MathWorks公司开发的用于概念设计、算法开发、建模仿真、实时实现的理想的集成环境。从1984年MATLAB诞生到现在,它已经集成了许多工具箱,例如控制系统工具箱(ControlSystemToolbox)、Simulink工具箱等。为此,MATLAB软件在控制工程领域已获得了广泛的应用,使得MATLAB成为控制系统仿真分析的必要工具1系统的稳定性分析稳定是控制系统的重要性能,也是系统能够正常运行的首要条件。在分析控制系统时,首先遇到的问题就是系统的稳定性。对线性系统来说,如果一个系统的所有几点都位于左半s平面,则该系统是稳定的。对于离散系统来说,如果一个系统的全部极点都在单位圆内,则该系统可以被认为是稳定的。由此可见,线性系统的稳定性完全取决于系统的极点在根平面上的位置。判断一个线性系统稳定性的一种最有效的方法是直接求出系统所用的极点,然后根据极点的分布情况来确定系统的稳定性。下面举一个具体的例子进行说明:【例一】已知闭环系统的传递函数为G(s)=1225324232345234sssssssss判断系统的稳定性,并给出不稳定极点可以采用下面的MATLAB程序%ex1.mnum=[32142];den=[351221];[z,p]=tf2zp(num,den);ii=find(real(p)0);n1=length(ii);if(n10)disp(‘TheUnstablePolesare:’);disp(p(ii));elsedisp(‘SystemisStable’);end执行结果显示:TheUnstablePolesare:0.4103+0.6801i0.4103-0.6801i在增加一下两条语句,则可画出如图所示的零极点图》pzmap(num,den);title(‘Zero-PoleMap’)-2-1.5-1-0.500.5-1-0.8-0.6-0.4-0.200.20.40.60.81Pole-ZeroMapRealAxisImaginaryAxis这是一个高阶系统,如果用人工计算的话就是十分麻烦的了,而且容易出现很多错误,还会影响控制系统的开发时间。而运用MATLAB软件就可以用几句简单易懂的程序语句就可以得到简单直观的系统稳定性的结果,这无疑是给控制系统的分析与研究带来了极大地方便,这样正是MATLAB软件在控制系统的分析领域应用得越来越广泛的原因之一。除了上述的利用极点判断系统的稳定性,我们还可以运用MATLAB的其它指令语句,利用特征值判断系统的稳定性;在高阶系统或者特征多项式中,当某些系数不是数值时,利用求闭环极点或特征值的方法来判断系统的稳定性是比较困难的。在这种情况下利用李雅普诺夫第二法来判断系统的稳定性比较有效。尤其在系统含有非线性环节时更是如此。运用MATLAB软件进行求解则省去了复杂的运算,可以直接地得到结果。2运用MATLAB软件分析控制系统对于一个控制系统而言仅仅关注它的稳定性是不够的,我们还要对自动控制系统做全面的分析以满足生产实际的要求,例如系统的动态性能、稳态误差等等。在控制工程中,几乎所用的控制系统都是高阶系统,即用高阶微分方程描述的系统。对于不能用一、二阶系统近似的高阶系统来说,其动态性能指标的确定是比较复杂的,为了减少计算量和工作强度,工程上经常直接应用MATLAB软件进行高阶系统的分析。【例二】假设某一功能下系统的数学模型的闭环传递函数为:Φ(s)=6116323sss由于Φ(s)=)(1)(sGsG,其开环函数为G(s)=3116323sss(1)系统的单位阶跃响应和脉冲响应在运用MATLAB软件分析系统的单位脉冲响应和单位阶跃响应的时候,我们可以调用MATLAB软件的impulse和step指令,其指令格式为:Y=impulse(sys,t)当不带输出变量y时,impulse命令可以直接绘制脉冲响应曲线;t用于设定仿真时间,可省略。Y=step(sys,t)当不带出输出变量y时,step命令可以直接绘制出阶跃响应曲线;t用于设定仿真时间,可以省略。下面运用上面介绍的两条指令语句对上述系统进行仿真MATLAB程序为:clear;closeall;num=[3];den=[16116];subplot(2,1,1),step(num,den);subplot(2,1,2),impulse(num,den);系统的单位阶跃响应和脉冲响应如图所示:00.511.522.533.544.500.10.20.30.4ImpulseResponseTime(sec)Amplitude单位脉冲响应012345600.20.40.60.8StepResponseTime(sec)Amplitude单位阶跃响应(2)系统的稳定性分析系统的稳定性分析有多种方法,这里在介绍一种运用MATLAB软件绘制系统的Bode图和Nyquist图判断系统的稳定性的方法。调用MATLAB的程序为:clear;closeall;num=[3];den=[16116];figure(1),bode(num,den);margin(num,den);figure(2),nyquist(num,den);该程序可以的到系统的Bode图和Nyquist图,如下图所示-120-100-80-60-40-200Magnitude(dB)10-210-1100101102-270-180-900Phase(deg)BodeDiagramFrequency(rad/sec)系统的Bode图-1-0.500.5-1-0.8-0.6-0.4-0.200.20.40.60.81NyquistDiagramRealAxisImaginaryAxis系统的Nyquist图由系统的Bode图和Nyquist图可以判断,该系统是稳定的。(3)运用Simulink进行系统仿真Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。它支持连续、离散及两者混合的线性和非线性系统,同时它也支持具有不同部分拥有不同采样率的多种采样速率的系统仿真。Simulink为用户提供了一个图形化的用户界面,对于用方框图表示的系统,通过图形界面,利用鼠标点击和拖拉方式,建立系统模型就像用铅笔在在纸上绘制系统的方框图一样简单,它与用微分方程和差分方程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点,它不但实现了可视化的动态仿真,也实现了与MATLAB、C或FORTRAN语言,甚至和硬件之间的数据传送,大大的扩展了它的功能。在MATLAB的主界面下点击Simulink的快捷图标,打开系统模型库,在建立的M-file文中直接加入所需要的模块,该系统的系统仿真模型如图所示。(注:其中den(s)=311623sss)1den(s)TransferFcnStepScope3GainAdd通过上述系统的模拟仿真,我们得到了如下的系统阶跃响应的仿真图3结论通过本文的论述和实例分析可见,利用MATLAB分析控制系统稳定性具有编程简单、操作方便、处理速度快,分析结果准确可靠等优点。由此可见,MATLAB为工程技术人员分析、设计较优的控制系统提供了强有力的工具。4学习心得在刚开始学习MATLAB这门课程的时候并没有得到我的重视,因为它只是一个工具性的软件,学习好自己的专业课程才是最重要的。直到MATLAB和自动控制原理两门课程都进行到重要的部分时候,我发现MATLAB现在就可以应用到我们的专业课——自动控制原理上,随着学习的深入,控制系统的分析也变得越来越复杂,用传统方法的计算,时间周期长而且准确率不高。但是在学习完MATLAB软件以后发现,其实我们可以运用现在学习的MATLAB的知识可以分方便的解决自动控制原理方面的问题。MATLAB的软件编程语言非常简单易懂,更重要的是利用MATLAB软件的Simulink软件包可以非常方便的得到各种自动控制系统的响应图像,要比我们在实验室的到相应的图像要方便简单的多。在更深入的学习了MATLAB软件的使用以后,对它的强大功能有了更加深刻的认识,我相信在今后的学习和工作当中会有更多的地方运用到这一款软件,给我们的学习和工作带来更多的方便与快捷。参考文献1、胡寿松自动控制原理第五版北京科学出版社20072、李国勇谢克明杨丽娟计算机仿真与CAD——基于MATLAB的控制系统第二版北京电子工业出版社20073、薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用.北京清华大学出版社,2002.