资源描述:
《基于matlab的二阶线性系统分析与仿真new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第26卷第5期河池学院学报Vol.26No.52006年10月JOURNALOFHECHIUNIVERSITYOct.2006基于MATLAB的二阶线性系统分析与仿真才娟,肖洪祥,邵彭飞(桂林工学院电子与计算机系,广西桂林541004)[摘要]二阶线性系统应用非常广泛,MATLAB语言是功能十分强大的工程计算及数值分析软件,它提供了高效的信号处理工具箱。介绍利用MATLAB语言对二阶线性系统进行分析与仿真的方法,尤其对系统稳定性的分析,并给出相关的例子、程序和相应的仿真结果。[关键词]MATLAB语言;二阶线性系统;稳定性;仿真[中图分
2、类号]TP391.9[文献标识码]A[文章编号]1672-9021(2006)05-0085-03[作者简介]才娟(1979-),女(满族),辽宁义县人,桂林工学院电子与计算机系硕士研究生,主要研究方向为检测技术与自动化装置;肖洪祥(1965-),男,湖北武汉人,桂林工学院电子与计算机系高级工程师,主要研究方向为检测技术与自动化装置。在控制工程中,不仅二阶线性系统的典型应用极为普遍,而且不少高阶系统的特性在一定条件下可用二[1]阶系统的特性来表征。因此,对二阶线性系统的分析具有较大的实际意义。MATLAB已经成为国际上最流行的科学与工程
3、计算的软件工具,现在的MATLAB已经不仅仅是一个“矩阵实验室”了,它已经成为了一种具有广泛应用前景的、全新的计算机高级编程语言,有人称它为“第四代”计算机语言,MATLAB语言的功能越来越强大。它在国内外高校和研究部门正扮演着重要的角色,在科学运算、信号处理、自动控制与科学绘图等许多领域得到了广泛的应用。本文探讨MATLAB语言在线性系统分析中的应用,主要研究在给定典型输入信号下求取系统的输出信号以及系统的稳定性。1二阶线性系统阶跃响应的分析二阶线性系统的闭环传递函数为Φ(s)=2ωn22,当输入不同时,对其单位阶跃响应进行比较s+2
4、ξωns+ωn和仿真。取ωn=1时,分别取ξ=0,0.1,1.0,3.0,用MATLAB语言进行编程,仿真结果如图1。symssforzeta=[0,0.1,0.3,1,3,5]wn=1;wn=sym(wn);zet=sym(zeta);ifzet==0tfigure(1)图1不同阻尼比ξ下系统的单位阶跃响应∧∧∧ezplot(ilaplace(wn2/s/(s2+wn2)),[019]);holdonelseifzeta==1figure(1)∧∧ezplot(ilaplace(wn2/s/(s+wn)2),[019]);holdon
5、;elsefigure(1)∧∧∧ezplot(ilaplace(wn2/s/(s2+23zet3wn3s+wn2)),[019]);holdon;85endendtitle(Âxi=0,0.1,0.3,1.0,3.0,5.0Â)axis([01902.0])gtext(Â0Â);gtext(Â0.1Â);gtext(Â1.0Â);gtext(Â3.0Â)(1)当ξ=0时,此系统为无阻尼状态,即为正弦曲线;(2)当0<ξ<1时,此系统为欠阻尼状态,ξ值越大,系统的振荡越小;(3)当ξ=1时,此系统为临界阻尼状态,这时总能保持系统输出值
6、小于1的最小阻尼比;(4)当ξ>1时,此系统为过阻尼状态,在ξ增加时,系统输出减慢。2二阶线性系统的稳定性分析[1]稳定性是控制系统的重要性能,也是系统能正常工作的首要条件。线性系统稳定的充分必要条件是:闭环系统特征方程的所有根均具有负实部;或者说,闭环传递函数的极点严格位于左半S平面上。根据稳定的充分必要条件我们可以利用MATLAB的计算功能算出闭环特征方程的根,判断其根是否全部在左半[2]S平面上,从而得出系统是否稳定。(1)根据特征根的实部是否为负来判断系统是否稳定,首先求闭环系统的特征根,这是最常见的方法。例如:一控制系统框图如
7、图2所示,试判定此系统的稳定性。程序如下:G=tf([3],[12]);H=tf([2],[11]);G0=feedback(G,H);p=eig(G0)运行结果:p=-1.5000+2.3979i-1.5000-2.3979i图2控制系统框图由于特征根的实部均为负,故此负反馈控制系统是稳定的。(2)根据开环系统的传递函数求出闭环系统的特征多项式以及其特征根来判断系统的稳定性。0.3(s+0.5)例如:单位负反馈控制系统的开环传递函数为:G(s)=,试判断此闭环系统的稳定性。(s-1)(s+0.2)首先求闭环系统的特征多项式,程序如下:
8、z=-0.5;p=[10.2];k=0.3;G=zpk(z,p,k);G0=tf(feedback(G,1));d=G0.den;den=poly2str(d{1},ÂsÂ)得到运行结果:den=∧s2-0