资源描述:
《基于s函数的时变系统仿真》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第21卷第5期计算机仿真2004年5月文章编号:1006-9348(2004)05-0089-03基于S函数的时变系统仿真黄晓明,张国忠,徐春梅(武汉大学动力与机械学院,湖北武汉430072)摘要:为了对复杂的控制系统进行优化控制,就要对系统特性有比较清楚的了解,对系统进行仿真是常用的一种方法。Mat2lab软件是系统仿真的优秀工具,其Simulink能仿真大多数的系统,只是有些模型Simulink并没有直接给出,例如时变系统,而S函数是扩展Simulink功能的有力工具。该文对基于S函数的时变系统仿真进行了研究,并与等效变换法进行了比较,结果证明S函数是解决时变系统仿真的有力
2、工具。关键词:函数;仿真;时变系统中图分类号:TP391.9文献标识码:B1前言入、输出和状态变量的数学关系由式(1)确定:严格地说一般的控制系统是非线性的、时变的。在满足sys=fflog(t,x,u)(1)一定条件下,控制系统才可化为线性和时不变的。随着计算其中t为时间。该式表示标识值flag取不同值时,系统向量机控制技术和智能控制技术的发展,一方面,人们对控制系sys有不同的含义,指示当前仿真处在哪一阶段,S函数调用统的品质的要求越来越高,另一方面构成的控制系统愈来愈不同的子程序。S函数的仿真过程可分为两大部分。第一部复杂,不乏出现时变系统。如何更精确地控制时变系统的问分
3、,初始化模型:包括初始化仿真步长、状态向量、输入和输题,摆到了控制工作者面前。为保控制系统的安全性、可靠出的维数。第二部分,S函数在仿真的不同阶段执行不同任性和经济性,对系统进行仿真研究是十分必要的。只有精确务:计算下一步仿真时刻;计算输出量;更新离散状态变量;地仿真时变被控对象,才谈得上优化控制。目前广泛使用的美国Mathworks公司的Simulink/Matlab软件,是系统仿真的优仿真任务结束。用Matlab语言设计的S函数采用一种特殊秀工具,可对动态系统进行建模、仿真和分析。它支持线性的语法结构,根据flag标识值,规定S函数的运行过程。S函和非线性系统、连续时间系统
4、、离散时间系统、连续和离散混数的有关结构见表1。合系统,而且系统可以是多进程的。但是Mathworks公司至今没有开发直接可对时变系统进行仿真的工具。本文介绍表1S函数及仿真进程基于S函数的时变系统仿真的原理、方法和技巧。仿真阶段及进程S函数调用子程序Flag取值初始化MdlInitialigeSizes02S-函数概述计算下一步仿真时刻mdlGetTimeofNextVaHit4S函数(SystemFunction)是一种描述动态系统的计算机语计算输出MdlOut3言,可由Matlab语言或C语言编写,分别存为M和MEX文更新离散状态变量MdlUpdata2件。这里主要介绍用
5、Matlab语言设计的S函数的方法。计算状态导数MdlDerivatives1几乎所有Simulink内置功能模块都能用S函数编写,新仿真任务结束mdlTerminnate9编写的S函数可以被封装成新的Simulink模块。使用Simulink的封装工具,可以很方便地为新的模块创建属性页及图标,能不断拓展Simulink的模块库,为用户提供有效、便S函数格式如下:捷的开发工具,是Simulink的精华。function[sys,x0,str,ts]=funname(t,x,u,flag,parameter)S函数模块如图1其中funname为函数名;t,x,flag如上所述;p
6、arameter为参所示,它有以下变量:输数,可以在S函数的参数对话框中给出;sys为取决于flag值入向量u,输出向量sys,图1S函数结构图的返回值;x0是初始状态值;str为说明变量,在m文件形成状态向量x。状态向量的S函数中设置为空矩阵;ts是包含采样时间和状态复位的可能是连续状态,可能是离散状态,也可能是两者混合。输信息两列矩阵。S函数常用于创建新的Simulink模块,它有着广泛的用收稿日期:2003-01-23途,其中包括:—89—1)Simulink创建新的功能模块,这些模块具有典型的功Y(s)1G(s)==U(s)Ts+1能,能和其它模块组合出多种不同的功能。
7、即:2)将已有的C语言程序编辑为可在Matlab平台上运行的文件格式。Ûy=1u(t)-1y(t)(5)TT3)当系统可被描叙为状态方程时,用S函数可以很方便地进行编程和运算。分析可知,惯性环节可由积分环节和变参数比例环节实4)进行图象及动画的制作。现。由这种等效变换方法得到例1系统的Simulink模型如图3线性时变系统的分析2,其中输入u(t)为方波输入,变参数Kθ(4~6)采取正弦波线性时变系统是指描述线性系统的动态性能的微分方和常量信号的和作为扰动输入,1/Tθ(1/300~1/15