《基于MATLAB的控制系统分析论文文档.pdf》由会员分享,可在线阅读,更多相关《基于MATLAB的控制系统分析论文文档.pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB论文 基于 MATLAB的控制系统分析 摘要:运用 MATLAB 软件处理和仿真,分析所建立的控制系统模型的可行性。利用 MATLAB平台分析系统传递函数的稳定性,利用 MATLAB软件得出系统的单位阶跃响应和脉冲响应,分析说明 MATLAB在自动控制系统方面的应用。关键词:控制系统 MATLAB 稳定性 Simulink 0引言 自动控制技术已经广泛应用于工业、农业、交通运输业、航空及航天业等众多产业部门,极大地提高了社会劳动生产率,改善了人们的劳动条件,丰富与提高了人们的生活水平。在当今的社会生活中,自动化装置无所不在,为人类文明进步做出了重要贡献。随着科学技术的发展,控制系统
2、变得越来越复杂,控制理论和系统的分析如果仅靠人工计算已经远远不能满足学习和研究的要求了。MATLAB是高性能的数值计算和可视化软件,他集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面友好的用户环境。MATLAB的出现给控制系统的分析提供了极大的方便。MATLAB(Matix Laboratory,即“矩阵实验室”)是美国 MathWorks公司开发的用于概念设计、算法开发、建模仿真、实时实现的理想的集成环境。从 1984年MATLAB诞生到现在,它已经集成了许多工具箱,例如控制系统工具箱(Control System Toolbox)、Simulink工具箱等。为此,MAT
3、LAB软件在控制工程领域已获得了广泛的应用,使得 MATLAB成为控制系统仿真分析的必要工具 1系统的稳定性分析 稳定是控制系统的重要性能,也是系统能够正常运行的首要条件。在分析控制系统时,首先遇到的问题就是系统的稳定性。对线性系统来说,如果一个系统的所有几点都位于左半 s 平面,则该系统是稳定的。对于离散系统来说,如果一个系统 的全部极点都在单位圆内,则该系统可以被认为是稳定的。由此可见,线性系统的 稳定性完全取决于系统的极点在根平面上的位置。判断一个线性系统稳定性的一种最有效的方法是直接求出系统所用的极 点,然后根据极点的分布情况来确定系统的稳定性。下面举一个具体的例子进 行 说明:【例一
4、】已知闭环系统的传递函数为 4323s,2s,s,4s,2 G(s)=54323s,5s,s,2s,2s,1 判断系统的稳定性,并给出不稳定极点 可以采用下面的 MATLAB程序%ex1.m num=3 2 1 4 2;den=3 5 1 2 2 1;z,p=tf2zp(num,den);ii=find(real(p)0);n1=length(ii);if(n10)disp(The Unstable Poles are:);disp(p(ii);else disp(System is Stable);end 执行结果显示:The Unstable Poles are:0.4103+0.6801
5、i 0.4103-0.6801i 在增加一下两条语句,则可画出如图所示的零极点图 pzmap(num,den);title(Zero-Pole Map)Pole-Zero Map 1 0.8 0.6 0.4 0.2 0-0.2 Imaginary Axis-0.4-0.6-0.8-1-2-1.5-1-0.500.5 Real Axis 这是一个高阶系统,如果用人工计算的话就是十分麻烦的了,而且容易出现很 多错误,还会影响控制系统的开发时间。而运用 MATLAB软件就可以用几句简单易 懂的程序语句就可以得到简单直观的系统稳定性的结果,这无疑是给控制系统的分 析与研究带来了极大地方便,这样正是 M
6、ATLAB 软件在控制系统的分析领域应用得 越来越广泛的原因之一。除了上述的利用极点判断系统的稳定性,我们还可以运用 MATLAB的其它指令 语句,利用特征值判断系统的稳定性;在高阶系统或者特征多项式中,当某些系数 不是数值时,利用求闭环极点或特征值的方法来判断系统的稳定性是比较困难的。在这种情况下利用李雅普诺夫第二法来判断系统的稳定性比较有效。尤其在系统含 有非线性环节时更是如此。运用 MATLAB软件进行求解则省去了复杂的运算,可以 直接地得到结果。2运用 MATLAB软件分析控制系统 对于一个控制系统而言仅仅关注它的稳定性是不够的,我们还要对自动控制系 统做全面的分析以满足生产实际的要求
7、,例如系统的动态性能、稳态误差等等。在 控制工程中,几乎所用的控制系统都是高阶系统,即用高阶微分方程描述 的系统。对于不能用一、二阶系统近似的高阶系统来说,其动态性能指标的确 定是比较复杂的,为了减少计算量和工作强度,工程上经常直接应用 MATLAB 软件 进行高阶系统的分析。【例二】假设某一功能下系统的数学模型的闭环传递函数为:3(s)=32s,6s,11s,6 G(s)由于(s)=,其开环函数为 1,G(s)3G(s)=32s,6s,11s,3(1)系统的单位阶跃响应和脉冲响应 在运用 MATLAB软件分析系统的单位脉冲响应和单位阶跃响应的时候,我们可 以调用 MATLAB软件的 impu
8、lse和 step指令,其指令格式为:Y=impulse(sys,t)当不带输出变量 y时,impulse 命令可以直接绘制脉冲响应 曲线;t用于设定仿真时间,可省略。Y=step(sys,t)当不带出输出变量 y时,step 命令可以直接绘制出阶跃响应曲 线;t用于设定仿真时间,可以省略。下面运用上面介绍的两条指令语句对上述系统进行仿真 MATLAB 程序为:clear;close all;num=3;den=1 6 11 6;subplot(2,1,1),step(num,den);subplot(2,1,2),impulse(num,den);系统的单位阶跃响应和脉冲响应如图所示:Imp
9、ulse Response 0.4 0.3 0.2 Amplitude0.1 000.511.522.533.544.5 Time(sec)单位脉冲响应 Step Response0.8 0.6 0.4 Amplitude0.2 00123456 Time(sec)单位阶跃响应(2)系统的稳定性分析 系统的稳定性分析有多种方法,这里在介绍一种运用 MATLAB软件绘制系统 的 Bode图和 Nyquist 图判断系统的稳定性的方法。调用 MATLAB的程序为:clear;close all;num=3;den=1 6 11 6;figure(1),bode(num,den);margin(nu
10、m,den);figure(2),nyquist(num,den);该程序可以的到系统的 Bode 图和 Nyquist图,如下图所示 Bode Diagram0-20-40-60-80Magnitude(dB)-100-1200-90-180Phase(deg)-270-2-10121010101010 Frequency(rad/sec)系统的 Bode图 Nyquist Diagram1 0.8 0.6 0.4 0.2 0-0.2Imaginary Axis-0.4-0.6-0.8-1-1-0.500.5 Real Axis 系统的 Nyquist图 由系统的 Bode 图和 Nyqui
11、st 图可以判断,该系统是稳定的。(3)运用 Simulink 进行系统仿真 Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。它支持连 续、离散及两者混合的线性和非线性系统,同时它也支持具有不同部分拥有不同采 样率的多种采样速率的系统仿真。Simulink为用户提供了一个图形化的用户界 面,对于用方框图表示的系统,通过图形界面,利用鼠标点击和拖拉方式,建立系 统模型就像用铅笔在在纸上绘制系统的方框图一样简单,它与用微分方程和差分方 程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点,它不但实现 了可视化的动态仿真,也实现了与 MATLAB、C 或 FORTRAN语言
12、,甚至和硬件之间的 数据传送,大大的扩展了它的功能。在 MATLAB的主界面下点击 Simulink的快捷图标,打开系统模型库,在建立的 M-file文中直接加入所需要的模块,该系统的系统仿真模型如图所示。32(注:其中 den(s)=)s,6s,11s,3 13den(s)StepAddGainScopeTransfer Fcn 通过上述系统的模拟仿真,我们得到了如下的系统阶跃响应的仿真图 3结论 通过本文的论述和实例分析可见,利用 MATLAB 分析控制系统稳定性具有编程 简单、操作方便、处理速度快,分析结果准确可靠等优点。由此可见,MATLAB 为工 程技术人员分析、设计较优的控制系统提
13、供了强有力的工具。4学习心得 在刚开始学习 MATLAB 这门课程的时候并没有得到我的重视,因为它只是一个 工具性的软件,学习好自己的专业课程才是最重要的。直到 MATLAB 和自动控 制原理两门课程都进行到重要的部分时候,我发现 MATLAB现在就可以应用到我们 的专业课自动控制原理上,随着学习的深入,控制系统的分析也变得越来越复杂,用传统方法的计算,时间周期长而且准确率不高。但是在学习完 MATLAB 软件 以后发现,其实我们可以运用现在学习的 MATLAB 的知识可以分方便的解决自动控 制原理方面的问题。MATLAB的软件编程语言非常简单易懂,更重要的是利用 MATLAB软件的 Simu
14、link 软件包可以非常方便的得到各种自动控制系统的响应图 像,要比我们在实验室的到相应的图像要方便简单的多。在更深入的学习了 MATLAB软件的使用以后,对它的强大功能有了更加深刻的 认识,我相信在今后的学习和工作当中会有更多的地方运用到这一款软件,给我们 的学习和工作带来更多的方便与快捷。参考文献 1、胡寿松 自动控制原理 第五版 北京 科学出版社 2007 2、李国勇 谢克明 杨丽娟 计算机仿真与 CAD基于 MATLAB的控制系统 第 二版 北京 电子工业出版社 2007 3、薛定宇,陈阳泉.基于 MATLAB/Simulink 的系统仿真技术与应用.北京 清华大学出版社,2002.基
15、于 MATLAB的控制系统分析 摘 要 MATLAB 具有强大的图形处理功能、符号运算功能和数值计算功能。MATLAB工具几乎涵盖了整个科学技术运算领域。其中系统的仿真(Simulink)工具箱是从底层开发的一个完整的仿真环境和图形界面。在这个环境中,用户可以完成面向框图系统仿真的全部过程,并且更加直观和准确地达到仿真的目标。此次,以数字电路中的时序逻辑电路为线索来学习 Simulink,了解了许多数字电路中常用模块的使用方法.时序电路中除具有逻辑运算功能的组合电路外,还必须有能够记忆电路状态的存储单元或延迟单元,这些存储或延迟单元主要由本次设计所用到的触发器来实现。D 触发器、RS 触发器、
16、JK 触发器等这些时序逻辑电路中常用的器件在 Simulink 中都有相应的仿真模块,除此之外,用户还可以自行设计封装模块来一步一步完成更大的电路系统,实现更强大的逻辑功能。关键词:MATLAB、Simulink、时序电路 1 Matlab内容简介 MATLAB 拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB 工具几乎涵盖了整个科学技术运算领域。在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把 MATLAB 作为必不可少的内容。在国际学术界,MATLAB 被确认为最准
17、确可靠的科学计算标准软件,在许多国际一流的学术刊物上都可以看到 MATLAB 在各个领域里的应用。2 系统的稳定性分析 稳定是控制系统的重要性能,也是系统能够正常运行的首要条件。在分析控制系统时,首先遇到的问题就是系统的稳定性。对线性系统来说,如果一个系统的所有几点都位于左半 s 平面,则该系统是稳定的。对于离散系统来说,如果一个系统的全部极点都在单位圆内,则该系统可以被认为是稳定的。由此可见,线性系统的稳定性完全取决于系统的极点在根平面上的位置。判断一个线性系统稳定性的一种最有效的方法是直接求出系统所用的极点,然后根据极点的分布情况来确定系统的稳定性。下面举一个具体的例子进行说明:【例一】已
18、知闭环系统的传递函数为 G(s)=1 2 2 5 32 4 2 32 3 4 52 3 4 s s s s ss s s s 判断系统的稳定性,并给出不稳定极点 可以采用下面的 MATLAB 程序%ex1.m num=3 2 1 4 2;den=3 5 1 2 2 1;z,p=tf2zp(num,den);ii=find(real(p)0);n1=length(ii);if(n10)disp(The Unstable Poles are:);disp(p(ii);else disp(System is Stable);end 执行结果显示:The Unstable Poles are:0.41
19、03+0.6801i 0.4103-0.6801i 在增加一下两条语句,则可画出如图所示的零极点图 pzmap(num,den);title(Zero-Pole Map)-2-1.5-1-0.5 0 0.5-1-0.8-0.6-0.4-0.200.20.40.60.81Pole-Zero MapReal AxisImaginary Axis 这是一个高阶系统,如果用人工计算的话就是十分麻烦的了,而且容易出现很多错误,还会影响控制系统的开发时间。而运用 MATLAB 软件就可以用几句简单易懂的程序语句就可以得到简单直观的系统稳定性的结果,这无疑是给控制系统的分析与研究带来了极大地方便,这样正是
20、MATLAB 软件在控制系统的分析领域应用得越来越广泛的原因之一。除了上述的利用极点判断系统的稳定性,我们还可以运用 MATLAB 的其它指令语句,利用特征值判断系统的稳定性;在高阶系统或者特征多项式中,当某些系数不是数值时,利用求闭环极点或特征值的方法来判断系统的稳定性是比较困难的。在这种情况下利用李雅普诺夫第二法来判断系统的稳定性比较有效。尤其在系统含有非线性环节时更是如此。运用 MATLAB 软件进行求解则省去了复杂的运算,可以直接地得到结果。3运用 MATLAB软件分析控制系统 对于一个控制系统而言仅仅关注它的稳定性是不够的,我们还要对自动控制系统做全面的分析以满足生产实际的要求,例如
21、系统的动态性能、稳态误差等等。在控制工程中,几乎所用的控制系统都是高阶系统,即用高阶微分方程描述的系统。对于不能用一、二阶系统近似的高阶系统来说,其动态性能指标的确定 是比较复杂的,为了减少计算量和工作强度,工程上经常直接应用 MATLAB 软件 进行高阶系统的分析。【例二】假设某一功能下系统的数学模型的闭环传递函数为:(s)=6 11 632 3 s s s 由于(s)=)(1)(s Gs G,其开环函数为 G(s)=3 11 632 3 s s s(1)系统的单位阶跃响应和脉冲响应 在运用 MATLAB软件分析系统的单位脉冲响应和单位阶跃响应的时候,我们可以调用 MATLAB软件的 imp
22、ulse和 step指令,其指令格式为:Y=impulse(sys,t)当不带输出变量 y时,impulse命令可以直接绘制脉冲响应曲线;t用于设定仿真时间,可省略。Y=step(sys,t)当不带出输出变量 y时,step命令可以直接绘制出阶跃响应曲线;t用于设定仿真时间,可以省略。下面运用上面介绍的两条指令语句对上述系统进行仿真 MATLAB 程序为:clear;close all;num=3;den=1 6 11 6;subplot(2,1,1),step(num,den);subplot(2,1,2),impulse(num,den);系统的单位阶跃响应和脉冲响应如图所示:0 0.5
23、1 1.5 2 2.5 3 3.5 4 4.500.10.20.30.4Im pulse ResponseTim e(sec)Amplitude 单位脉冲响应 0 1 2 3 4 5 600.20.40.60.8Step ResponseTime(sec)Amplitude 单位阶跃响应(2)系统的稳定性分析 系统的稳定性分析有多种方法,这里在介绍一种运用 MATLAB 软件绘制系统的 Bode图和 Nyquist 图判断系统的稳定性的方法。调用 MATLAB 的程序为:clear;close all;num=3;den=1 6 11 6;figure(1),bode(num,den);mar
24、gin(num,den);figure(2),nyquist(num,den);该程序可以的到系统的 Bode图和 Nyquist 图,如下图所示-120-100-80-60-40-200Magnitude(dB)10-210-1100101102-270-180-900Phase(deg)Bode DiagramFrequency(rad/sec)系统的 Bode图-1-0.5 0 0.5-1-0.8-0.6-0.4-0.200.20.40.60.81Nyquist DiagramReal AxisImaginary Axis 系统的 Nyquist图 由系统的 Bode 图和 Nyquis
25、t 图可以判断,该系统是稳定的。(3)运用 Simulink 进行系统仿真 Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。它支持连续、离散及两者混合的线性和非线性系统,同时它也支持具有不同部分拥有不同采样率的多种采样速率的系统仿真。Simulink为用户提供了一个图形化的用户界面,对于用方框图表示的系统,通过图形界面,利用鼠标点击和拖拉方式,建立系统模型就像用铅笔在在纸上绘制系统的方框图一样简单,它与用微分方程和差分方程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点,它不但实现了可视化的动态仿真,也实现了与 MATLAB、C或 FORTRAN语言,甚至和硬件之间
26、的数据传送,大大的扩展了它的功能。在 MATLAB的主界面下点击 Simulink的快捷图标,打开系统模型库,在建立的M-file文中直接加入所需要的模块,该系统的系统仿真模型如图所示。(注:其中 den(s)=3 11 62 3 s s s)1den(s)Transfer FcnStepScope3GainAdd 通过上述系统的模拟仿真,我们得到了如下的系统阶跃响应的仿真图 4结论 通过本文的论述和实例分析可见,利用 MATLAB 分析控制系统稳定性具有编程简单、操作方便、处理速度快,分析结果准确可靠等优点。由此可见,MATLAB 为工程技术人员分析、设计较优的控制系统提供了强有力的工具。5
27、学习心得 在刚开始学习 MATLAB这门课程的时候并没有得到我的重视,因为它只是一个工具性的软件,学习好自己的专业课程才是最重要的。直到 MATLAB和自动控制原 理两门课程都进行到重要的部分时候,我发现 MATLAB现在就可以应用到我们的专 业课自动控制原理上,随着学习的深入,控制系统的分析也变得越来越复杂,用传统方法的计算,时间周期长而且准确率不高。但是在学习完 MATLAB软件以后发现,其实我们可以运用现在学习的 MATLAB的知识可以分方便的解决自动控制原理方面的问题。MATLAB的软件编程语言非常简单易懂,更重要的是利用 MATLAB软件的 Simulink软件包可以非常方便的得到各种自动控制系统的响应图像,要比我们在实验室的到相应的图像要方便简单的多。在更深入的学习了 MATLAB软件的使用以后,对它的强大功能有了更加深刻的认识,我相信在今后的学习和工作当中会有更多的地方运用到这一款软件,给我们的学习和工作带来更多的方便与快捷。参考文献 1、胡寿松 自动控制原理 第五版 北京 科学出版社 2007 2、李国勇 谢克明 杨丽娟 计算机仿真与 CAD基于 MATLAB的控制系统 第二版 北京 电子工业出版社 2007 3、薛定宇,陈阳泉.基于 MATLAB/Simulink 的系统仿真技术与应用.北京 清华大学出版社,2002.