论文部分内容阅读
摘要: 本文研究了如何用MATLAB/SIMULINK直观、简单、方便快捷地实现自动精确绘制相轨迹图和负倒相频特性图,从而对非线性控制系统进行相平面法和描述函数法分析。该方法为控制系统的分析和设计提供了科学的、高效快速的手段。
关键词:非线性控制系统 相平面 描述函数 MATLAB/SIMULINK
一、用MATLAB绘制相轨迹图
相轨迹图绘制方法有:手工绘制概略图、手工绘制近似图和计算机绘制精确图三种。本文只介绍计算机绘制精确图的方法。
用MATLAB来绘制精确相轨迹图,有两种方法可供选用,一种是编制程序的方法,另一种是利用MATLAB的SIMULINK结构图来生成系统,下面分别进行介绍。
1.用编制程序的方法绘制相轨迹图的实质就是求解微分方程的解。求微分方程数值解的方法有多种,MATLAB提供了求解微分方程的函数组,常用的有ode45,它采用的计算方法是变步长的龙格—库塔4/5的算法。ode45的调用方式为:[t,y]=ode45(odefun,tspam,y0)在用户自己编写的MATLAB函数中既可以描述线性系统特性,也可以描述非线性系统特性。描述系统模型的文件名可以是由字符串变量名odefun给出;参数可以由初始时间t0和中止时间tfinal构成向量给出,如tspan=[t0final],参数y0为系统状态变量初始值,其默认值是一个空矩阵。函数调用后,将返回系统的时间变量t和状态变量y。
2.利用MATLAB的SIMULINK结构图来绘制根轨迹的难点是如何构成非线性系统的仿真结构图及如何设置非线性系统的初始条件,设置初始条件的方法主要有三种方法,下面一一介绍。
方法一:由积分器的internal设置初始值。双击积分器环节得到积分器对话框,选择initial condition source中的internal,若变量初始值是1,则将initial condition中的0改为1。
方法二:由积分器的external设置初始值。双击积分器环节得到积分器对话框,选择initial condition source中的external,点击ok后,积分器就会有两个输入端,然后由阶跃信号发生器的对话框设置初值。
方法三:不用积分器设置初始值的方法,初始值的大小由阶跃信号的幅值决定,此时积分器内部初始值为0,此法适用于结构图中只有一个积分器的情况。
在这里给出了一个按上述方法用MATLAB绘制的相轨迹图,如图1所示。
二、用描述函数法分析非线性系统
描述函数法是基于频域分析法和非线性特性谐波线性化的一种图解分析方法。该方法对于满足结构要求的一类非线性系统,通过谐波线性化,将非线性特性近似表示为复变增益环节,然后推广应用频率法,分析非线性系统的稳定性或自激振荡。
用描述函数法分析非线性系统时,求解非线性特性的描述函数表达式和绘制非线性系统部分的负倒相幅特性曲线是关键。在这里介绍一下用MATLAB语言编程来求解非线性特性的描述函数表达式和绘制非线性系统部分的负倒相幅特性曲线。下面以饱和非线性环节为例来说明一下典型非线性特性的MATLAB仿真。
这样可以轻松、方便地求出非线性环节的描述函数表达式,以此为基础,我们也可以编程序绘制负倒相频特性曲线,进一步绘制出非线性系统部分的负倒相幅特性与线性部的频率特性曲线,在图3中给出了一个非线性环节的负倒相幅特性和它对应线性部分的频率特性曲线,有了这个仿真结果我们很容易看出:两曲线有两个交点,分别对应着系统两个周期运动状态。
结论:
本论文以MATLAB/SIMULINK为工具,就常用的两种分析非线性系统的方法(相平面法、描述函数法)进行了仿真研究。仿真结果证明MATLAB/SIMULINK确实为非线性系统的分析和设计提供了科学的,高效快速的手段。
参考文献:
[1]李宜达.控制系统设计与仿真.北京:清华大学出版社,2004年10月.
[2]夏德钤.自动控制理论.北京:机械工业出版社,2005年7月.
关键词:非线性控制系统 相平面 描述函数 MATLAB/SIMULINK
一、用MATLAB绘制相轨迹图
相轨迹图绘制方法有:手工绘制概略图、手工绘制近似图和计算机绘制精确图三种。本文只介绍计算机绘制精确图的方法。
用MATLAB来绘制精确相轨迹图,有两种方法可供选用,一种是编制程序的方法,另一种是利用MATLAB的SIMULINK结构图来生成系统,下面分别进行介绍。
1.用编制程序的方法绘制相轨迹图的实质就是求解微分方程的解。求微分方程数值解的方法有多种,MATLAB提供了求解微分方程的函数组,常用的有ode45,它采用的计算方法是变步长的龙格—库塔4/5的算法。ode45的调用方式为:[t,y]=ode45(odefun,tspam,y0)在用户自己编写的MATLAB函数中既可以描述线性系统特性,也可以描述非线性系统特性。描述系统模型的文件名可以是由字符串变量名odefun给出;参数可以由初始时间t0和中止时间tfinal构成向量给出,如tspan=[t0final],参数y0为系统状态变量初始值,其默认值是一个空矩阵。函数调用后,将返回系统的时间变量t和状态变量y。
2.利用MATLAB的SIMULINK结构图来绘制根轨迹的难点是如何构成非线性系统的仿真结构图及如何设置非线性系统的初始条件,设置初始条件的方法主要有三种方法,下面一一介绍。
方法一:由积分器的internal设置初始值。双击积分器环节得到积分器对话框,选择initial condition source中的internal,若变量初始值是1,则将initial condition中的0改为1。
方法二:由积分器的external设置初始值。双击积分器环节得到积分器对话框,选择initial condition source中的external,点击ok后,积分器就会有两个输入端,然后由阶跃信号发生器的对话框设置初值。
方法三:不用积分器设置初始值的方法,初始值的大小由阶跃信号的幅值决定,此时积分器内部初始值为0,此法适用于结构图中只有一个积分器的情况。
在这里给出了一个按上述方法用MATLAB绘制的相轨迹图,如图1所示。
二、用描述函数法分析非线性系统
描述函数法是基于频域分析法和非线性特性谐波线性化的一种图解分析方法。该方法对于满足结构要求的一类非线性系统,通过谐波线性化,将非线性特性近似表示为复变增益环节,然后推广应用频率法,分析非线性系统的稳定性或自激振荡。
用描述函数法分析非线性系统时,求解非线性特性的描述函数表达式和绘制非线性系统部分的负倒相幅特性曲线是关键。在这里介绍一下用MATLAB语言编程来求解非线性特性的描述函数表达式和绘制非线性系统部分的负倒相幅特性曲线。下面以饱和非线性环节为例来说明一下典型非线性特性的MATLAB仿真。
这样可以轻松、方便地求出非线性环节的描述函数表达式,以此为基础,我们也可以编程序绘制负倒相频特性曲线,进一步绘制出非线性系统部分的负倒相幅特性与线性部的频率特性曲线,在图3中给出了一个非线性环节的负倒相幅特性和它对应线性部分的频率特性曲线,有了这个仿真结果我们很容易看出:两曲线有两个交点,分别对应着系统两个周期运动状态。
结论:
本论文以MATLAB/SIMULINK为工具,就常用的两种分析非线性系统的方法(相平面法、描述函数法)进行了仿真研究。仿真结果证明MATLAB/SIMULINK确实为非线性系统的分析和设计提供了科学的,高效快速的手段。
参考文献:
[1]李宜达.控制系统设计与仿真.北京:清华大学出版社,2004年10月.
[2]夏德钤.自动控制理论.北京:机械工业出版社,2005年7月.