论文-连续系统statespacemodel函数分析方法程序设计_第1页
论文-连续系统statespacemodel函数分析方法程序设计_第2页
论文-连续系统statespacemodel函数分析方法程序设计_第3页
论文-连续系统statespacemodel函数分析方法程序设计_第4页
论文-连续系统statespacemodel函数分析方法程序设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题目连续系统STATESPACEMODEL函数分析方法程序设计所在学院物理与电信工程学院2014年5月5日连续系统STATESPACEMODEL函数分析方法程序设计摘要采用MATHEMATICA的STATESPACEMODEL分析方法,分析求解低阶连续系统并编写通用的低阶连续系统解析解求解程序,用实例展示程序的用法和程序求解连续系统的高效率。关键字连续系统;MATHEMATICA程序;STATESPACEMODEL函数;解析解CONTINUOUSSYSTEMSTAESPACEMODELFUNCTIONANALYSISMETHODOFPROGRAMDESIGNABSTRACTUSINGMATHEMATICASTATESPACEMODELANALYSIS,DISCUSSIONANDANALYSISMETHODOFLOWORDERCONTINUOUSSYSTEM,ANDTHEPREPARATIONOFLOWORDERGENERALCONTINUOUSSYSTEMANALYTICALSOLUTIONPROCEDURE,WITHTHEEXAMPLEOFEFFICIENTUSEANDPROGRAMSOLVERFORCONTINUOUSSYSTEMSKEYWORDCONTINUOUSSYSTEMMATHEMATICAPROGRAMSTATESPACEMODELFUNCTIONANALYTICALSOLUTION目录引言11SIMULINK建模求解LTI系统的思路111SIMULINK简介112SIMULINK建模方法步骤2121分离元件建模方法步骤2122用传递函数建立系统仿真模块文件的方法2123用状态空间矩阵创建系统仿真模块文件的方法3124SIMULINK方法解的特点及其适用范围42构造状态空间模型的方法421构造系统状态空间模型的理论方法422用MATLAB内部函数构造系统状态空间矩阵的方法523用MATHEMATICA内部函数构造系统状态空间模型的方法63用STATESPACEMODEL方法求解LTI系统的思路631STATESPACEMODEL函数简介632求解连续LTI动态系统解析解的思路和步骤64用STATESPACEMODEL方法求解LTI系统的程序设计思路75STATESPACEMODEL求解LTI系统程序的应用851程序应用示例852STATESPACEMODEL方法与LAPLACE逆变换方法的比较116结语12致谢12参考文献13引言随着科学技术的不断进步,越来越多的仪器仪表和民用产品的智能化程度也越高,任何智能化设备的研发,都离不开对设备和产品进行精确的控制,这些控制大多数都是通过电子电路组成的动态LTI连续时域系统来实现的。要设计一款高性价比的产品,必须经历对控制电路的反复研究修改,也即要反复求解动态控制电路在给定类型的输入信号激励下的响应,以期达到最佳性价比。当控制电路比较复杂时,这样的分析求解就变得非常复杂。于是编程完成分析就显得十分重要。求解线性动态时不变系统的解析形式的响应,是一件非常棘手的工作,而且对于复杂系统因为数据误差导致解析解有可能解不出来。所以,编程求解复杂系统是一个必然的趋势。为了降低编程的难度和代价,我们学习了WOLFRAM公司最新版的MATHEMATICA901软件中的系统分析方法相关内建函数TRANSFERFUNCTIONMODEL、STATESPACEMODEL、OUTPUTRESPONSE、STATERESPONSE等函数,发现这一批函数内部集成了世界一流的求解分析动态系统的优秀算法,用来建模求解、分析LTI连续、离散动态系统非常得心应手,于是我选择了“连续系统STATESPACEMODEL函数分析方法程序设计”这一毕业设计题目。MATLAB的SIMULINK建模分析求解连续LTI动态系统,一是要先构建模块文件并设置系统结构参数和运行参数,二是要编写MATLAB程序文件,在其中调用模块文件求解系统,三是只能给出动态LTI连续系统的数值解。MATHEMATICA的建模方法就简洁的多,一是先根据系统拓扑结构和元件参数构建或计算出系统的S域系统函数HS,二是调用MATHEMATICA的内建函数TRANSFERFUNCTIONMODEL、STATESPACEMODEL创建系统的传递函数模型函数和状态空间模型函数,三是调用MATHEMATICA的内建函数OUTPUTRESPONSE分别求出系统的解析形式的零输入响应YZIT和零状态响应YZST,然后再对响应做各种必要的分析的表示。整个分析求解过程不需要建立图形化的模块文件,也不需要设置运行参数,提取分析结果相对MATLAB来说极为简单。正是基于以一理由,我选择了自己的毕业设计课题。1SIMULINK建模求解LTI系统的思路为了比较MATHEMATICA的建模分析方法与MATLAB的建模分析方法的优缺点,我们先简单介绍MATLAB的SIMULINK建模分析连续LTI动态系统的基本步骤。11SIMULINK简介SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包,是MATLAB的重要组成部分。它用于可视化的系统仿真,采用系统模块直观的描述系统典型环节。因此可以十分方便的建立系统而不需要花较多时间编程。SIMULINK分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),它提供了一种图形化的交互环境。SIMULINK提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功4。SIMULINK提供了丰富的模块库以帮助用户快速的建立起动态系统模型。建模时只需要使用鼠标拖放不同模块库中的系统模型并将它们连接起来。它外表以方块图形式呈现,且采用分层结构。SIMULINK框图提供了交互式很强的仿真环境,既可以通过下拉菜单执行,也可以通过命令进行仿真。SIMULINK的特点(1)基于矩阵的数值计算;(2)高级编程语言;(3)图形与可视化;(4)工具箱提供面向具体应用领域的功能;(5)丰富的I/O工具;(6)提供与其他高级语言的接口;(7)支持多平台(PC/MACINTOSH/UNIX)(8)开放与可扩展的体系结构。12SIMULINK建模方法步骤121分离元件建模方法步骤一般用于结构比较简单的系统的分析计算。(1)写出系统的微分方程;(2)根据系统微分方程画出系统框图;(3)把画出的框图用SIMULINK中的分离原件进行仿真组合(分离原件建模)。例如系统的微分方程为画出系统的框图如图11BA图11系统框图分立元件仿真模块图如图12图12二阶系统分离元件仿真模块图仿真模块图构造好以后设置各元件参数,运行求解即可。122用传递函数建立系统仿真模块文件的方法如果系统很复杂的话我们用离散建模的方法来求解系统的时候,我们所创建的模块文件的结构就会比较复杂,费时费力也不利于我们的研究分析。所以在系统比较复杂的情况下我们用以下方法(1)首先写出系统的微分方程;(2)用拉普拉斯变换求解出系统S域的系统函数(传递函数);(3)利用传递函数建模。建模主要分为三部分(1)输入信号(信号源);(2)传递函数模块;(3)数据显示或提取部分。例如系统微分方程为对函数取拉布拉斯变换得由上式可得到2化简上式S2AYS2FS得到传递函数2构造传输函数仿真模块如图13图13传输函数仿真模块图输入各元件参数,进行求解即可。123用状态空间矩阵创建系统仿真模块文件的方法使用状态空间模型的方法求解连续系统的优点是,此方法可以设置系统的初值可以直接求得系统的零输入响应,进而得到连续系统的完全解。(1)建立微分方程;(2)将微分方程转化成为状态方程;(3)利用状态方程建模。建模主要为三部分(1)输入信号(信号源);(2)状态空间模块;(3)数据的显示或提取部分。用MATLAB建立状态空间函数的方法示例NUM12系数从高到低排列DEN1712MYTFTFNUM,DEN构造传递函数A,B,C,DTF2SSNUM,DEN构造空间状态模型124SIMULINK方法解的特点及其适用范围SIMULINK方法解的特点SIMULINK的求解方法所计算出来的系统所有解都为数值解,解出的是给定时间点上的响应信号的采样值,而不是解析函数的形式,要想得到系统输出信号的时域演化规律,还必须再做进一步的反复建模和数据拟合。SIMULINK在对连续系统进行求解时,其核心是对系统微分或者偏微分方程进行求解。因此,使用SIMULINK对连续系统进行求解仿真时所得到的结果均为近似解,只要此近似解在一定的误差范围内便可。该误差是与其系统的采样间隔有关系,采样间隔大的话误差就大,采样间隔小了,误差就比较小。我们可以利用SIMULINK求解出来的数值解的折线图来得到系统随时间变化的趋势,无法得到系统的解随着时间变化的关系或者规律。SIMULINK方法适用范围该方法可以求解线性和非线性系统,即连续系统。但是因为SIMULINK方法求解出的是数值解,所以在使用该方法求解连续系统的过程中,系统结构必须要是给定的,而且模型中各个部件的参数值都必须是给定的,不能含有取值待定的参数。参数给定后微分方程、系统函数等才能确定,才能使用该方法求解系统。所以,对于系统结果未知或者含有未知参数的系统,该方法不适用。2构造状态空间模型的方法21构造系统状态空间模型的理论方法状态空间模型的理论求解法如下以一个二阶连续系统为例215102712根据系统函数写出系统的微分方程712510我们令12可以得到1200012272121510为了更加简便的计算我们写成如下的形式712510令12得到1200027212127212101001127010112701521011051201050令21那么就得到71122110712101210712101051102510120510022用MATLAB内部函数构造系统状态空间矩阵的方法MATLAB方法就是我们上述介绍的SIMULINK中的第三种方法,是通过编程语句的形式来实现状态空间矩阵的构造。以例21的系统函数来创建NUM12系数从高到低排列DEN1712MYTFTFNUM,DEN构造传递函数A,B,C,DTF2SSNUM,DEN构造状态空间模型运行之后即输出四个矩阵A71210B10C12D0这四个矩阵即为系统的状态空间矩阵。23用MATHEMATICA内部函数构造系统状态空间模型的方法传递函数构造法。在MATHEMATICA中使用传递函数必须有初值,所以传递函数无法直接求解系统的零输入响应。为了可以求解系统的零输入响应,我们就要通过传递函数来得到系统的状态空间模型。再去进一步的求解,用如下的方法程序CLEARMYTF,YHS_5S2/S27S12MYTFTRANSFERFUNCTIONMODELHS,SSSSTATESPACEMODELMYTFYZIT_STATERESPONSESS,5,2,0,T13用STATESPACEMODEL方法求解LTI系统的思路我们研究状态空间模型求解连续系统的方法是为了方便、快捷、高效率的去解决实际生活中的问题。实际生活中的系统往往是很复杂的,人工求解是非常困难且费力的,所以我们从实际的问题出发去研究状态空间模型的求解方法,希望能得到一个低成本、高效率的方法去解决实际中复杂的连续系统。MATHEMATICA是一款科学计算软件,很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接。用MATHEMATICA的STATESPACEMODEL函数求解LTI系统时方便又快捷。31STATESPACEMODEL函数简介STATESPACEMODEL翻译成中文就是空间状态模型的意思,它是MATHEMATICA软件的一个内部函数,这个函数包含的内容非常的丰富。状态空间模型既可以求解连续系统也可以求解离散系统。这里我们主要讨论的是STATESPACEMODEL求解LTI系统的方法和思路。STATESPACEMODEL基本语法(1)STATESPACEMODELA,B,C,D表示状态矩阵为A、输入矩阵为B、输出矩阵为C和转移矩阵为D的状态空间模型(2)STATESPACEMODELA,B,C,D,E表示具有描述器矩阵E的描述器状态空间模型(3)STATESPACEMODELTFM给出正则(PROPER)TRANSFERFUNCTIONMODEL对象TF的状态空间实现(4)STATESPACEMODELF,G,X1,X10,U1,U10,给出通过函数或者函数关于,1,点的泰勒线性化而取得的状态空间模型0,0(5)STATESPACEMODELEQNS,X1,X10,X2,X20,U1,U10,U2,U20,Y,给出通过输出为Y、自变量为的常微分或者差分方程EQNS关于点的泰勒线性化而取0,0得的状态空间模型。(6)STATESPACEMODEL可以表示连续时间或者离散时间中的标量和多变量系统时间延迟可以用任意状态空间模型表示,通过在任意矩阵中使用SYSTEMSMODELDELAY由方程建模,并且具有状态控制输入和输出,的连续时间系统可以指定为STATESPACEMODELA,B,C,D由方程建模,并且具有状态控制输入输出,和采样周期的离散时间系统可以指定为STATESPACEMODELA,B,C,D,SAMPLINGPERIOD32求解连续LTI动态系统解析解的思路和步骤使用STATESPACEMODEL函数的方法求解连续系统的时候不需要系统的微分方程。而是用系统函数对系统进行求解。该方法的出发点就是通过拉普拉斯变换将实际问题映射到S域中进行求解。对于一般系统求解步骤(1)用拉普拉斯变换写出系统的象域代数方程;(2)对信号源取拉普拉斯变换;(3)解代数方程,得到信号源与要研究对象的关系式;(4)写出传递函数并用传递函数构造状态空间模型;(5)求解系统响应;(6)画出各响应部分的图形。对于LC电路来说(1)将系统映射到S域;(2)写出电路各部分的等效电阻;(3)计算得到信号源与要研究对象的关系式;(4)计算求解出系统的传递函数;(5)用传递函数构造状态空间模型;(6)使用状态空间模型求解系统。下面,我们以一个二阶系统为例理论上来讨论求解LTI系统的思路二阶系统的微分方程为我们将求解步骤中的1、2两步同时进行,对等式两边同时取拉普拉斯变换,如下所示整理上式得到代数方程2化简代数方程得到传递函数S2AYS2FS2最后,我们用求解出来的传递函数构造状态空间模型,并用状态空间模型以及传递函数来求解系统的响应。4用STATESPACEMODEL方法求解LTI系统的程序设计思路上一个部分我们主要讨论的事理论上求解LTI系统的思路,下面我们来整理程序设计的思路,对于求解LTI系统来设计一个通用的程序。程序设计主演分为两大部分。程序设计的第一部分为求解系统的传递函数,省去繁琐的手动计算过程,将所有的繁琐计算全部利用编码交给计算机来做,用MATHEMATICA强大的计算功能来代替人力计算得到系统的传递函数。程序的第二部分为求解系统的响应连续系统的完全响应也可以分为零输入响应和零状态响应。零输入响应是激励为零时仅由系统的初始状态X0所引起的响应,用表示。零状态响应是系统的初始状态为零时,仅由输入信号引起的响应,用表示。如果系统的初始状态不为零,在激励的作用下,LTI系统的响应为全响应,它是零输入响应与零状态响应之和。在第二部分程序设计中,我们利用第一部分程序求解出来的传递函数调用TRANSFERFUNCTIONMODEL函数来构造系统的传递函数模型。然后,我们调用STATESPACEMODEL函数用系统的传递函数模型来进一步构造系统的状态空间函数模型。最后,我们就可以调用OUTPUTRESPONSE函数直接使用系统的状态空间函数模型来求解系统的零输入响应、用传递函数模型或者状态空间函数模型求解系统的零状态响应,最后得到系统的完全响应,再对系统进行分析研究。整理完编程思路我们就可以进行完整的程序设计。以下是求解三阶连续LTI系统的完整程序设计CLEAR“Y“,“T“,“S“,H清除定义的符号及其数值R1,R2,R3,C1,C2,L10,70,1000,103,2103,01P,Q,R01,02,01Z1R3/1R3C2SZ2Z1R2LSZ3Z2/Z2C1S1U1Z3/Z3R1USU2Z1/Z2Z3/Z3R1USHS_SIMPLIFYU2/USPLOTABSHI2F,05,F,0,10,PLOTRANGEALL,AXESLABEL“F/HZ“,“|HF|“,AXESORIGIN0,0FT_10COS2T/45COS4T/42COS20T/42COS80T/411COS200T/4FS_LAPLACETRANSFORMFT,T,SPLOTFT,T,0,1,AXESLABEL“T/SEC“,“FT“TFUNTRANSFERFUNCTIONMODELHS,S连续系统传递函数模型SSSTATESPACEMODELTFUN连续系统状态空间函数模型YZIT_CHOPEXPANDOUTPUTRESPONSESS,P,Q,R,0,T1,106零输入PRINT“YZIT“,YZITPLOTYZIT,T,0,1,PLOTRANGEALL,AXESLABEL“T“,“YZIT“YZST_CHOPOUTPUTRESPONSETFUN,FT,T1/EXPANDALL,106PRINT“YZST“,YZSTPLOTYZST,T,0,1,PLOTRANGEALL,AXESLABEL“T“,“YZST“PLOTYZITYZST,T,0,1,PLOTRANGEALL,AXESLABEL“T“,“YT“5STATESPACEMODEL求解LTI系统程序的应用51程序应用示例程序设计完后我们就可以将其应用于实例当中去求解相应的连续LTI系统,下面我们以一个三阶的LC电路为实例,对此三阶系统进行求解分析。如下图USTUT图51系统电路图这是一个比较复杂的三阶系统,为了便于分析求解我们要将电感以及电容等效为电阻,画出这个电路的S域等效电路图,如下图52所示LSUSR1R31112USSR2图52三阶系统S域等效电路图根据等效电路图得到电路各部分等效电阻为SCRE23112LEE213EERSC34EE节点的电压为R1LR2C2R3C1_131SURE节点的电压即为132112SURSUEEHS传递函数(系统函数)为132RSE以上分析思路的求解过程我们用编码的方式完成,交给计算机去计算。电路各部件参数分别为1103704100011032210301程序运行结果以下是求解上述三阶电路的程序运行各结果图图53幅频特性曲线图图54系统输入信号图由图53可以看出此三阶系统是一个低通滤波器,而且通频带很小,不到2HZ。超过2HZ的都逐渐开始衰减。留下的频率成分很小都是不超过2HZ的,超过2HZ的频率成分都舍去不要。如图54所示是这个三阶系统的输入信号,可以看出信号中掺杂着很多高频成分,是个比较复杂的信号源。我们要对这个复杂的输入信号进行处理。图55系统传递函数和系统状态函数模型矩阵图如图55所示,是MATHEMATICA程序计算出的该三阶系统的传递函数HS以及经过传递函数方法构造的该系统的状态空间函数模型。图56系统零输入响应图图57系统零状态响应图如图56所示是系统的零输入响应计算结果与零输入响应曲线图。此程序设计中我们是利用传递函数创建系统状态空间模型来对零输入状态进行求解的。如图57所示是系统零状态响应曲线图,我们可以看出经过此低通滤波器,过滤掉高频成分之后的信号曲线看起来光滑了很多。我用程序设计的方法使这个三阶系统实现了自己低通滤波的功能,我们在实际的应用中也可以使用该系统对信号进行处理。52STATESPACEMODEL方法与LAPLACE逆变换方法的比较求解此连续系统的零状态响应除了我们程序中所展示的方法之外还有另外一种方法可以对此连续系统的零状态进行求解,即LAPLACE的逆变换求解方法,我们对这两种方法求解连续系统进行一个简单的比较。LAPLACE逆变换的求解方法部分代码如下YZS2TINVERSELAPLACETRANSFORMHSFS,S,T/SIMPLIFYP1CHOPTAKEYZS2T,1,3,106P2SIMPLIFYTRIGREDUCEEXPTOTRIGYZS2TP1/CHOPPP1P2我们用该方法求解连续系统的零状态响应,并且将其结果与状态空间模型方法的求解结果进行比较分析,看看两种方法的不同。图58拉布拉斯逆变换方法结果图从结果图58中我们可以看出,通过拉布拉斯逆变化的方法求解出来的计算结果是非常复杂的,含有大量的复函数,程序设计中我们没有办法利用代码对其结果进行简化,计算机无法识别其同类项。但是我们观察其结果可以看出,对于这个结果的简化我们人工的进行会更加的省时省力,运用程序设计反而使其变得更加的麻烦费力。所以对于求解连续系统的零状态响应来说,程序设计方法的求解我们还是倾向于状态空间模型的方法,求解起来更省时省力,得到的计算结果也更加的简单。6结语本次毕业设计至此已经接近尾声,在这几个月的时间里,我通过利用MATHEMATICA强大的数据运算功能对于连续时间的复频域分析进行深入的研究。在整个设计过程中,我首先对于所学的基础信号知识进行温习巩固,比如S域、拉布拉斯变化、时域采样、信号频谱分析等;其次,整个实现过程是通过MATHEMATICA软件完成的,MATHEMATICA软件数学实现方法特别的强,并且内容丰富,操作简便。最后,通过此次毕业设计,我对设计所用到的软件有了更加深刻的认识,MATHEMATICA不仅在数值计算方面的功能十分强大,而且其图形仿真功能能够满足各个领域的需要,因此MATHEMATICA已经成为我们工作学习中不可或缺的软件。由于MATHEMATICA软件是专业性较强的软件,所以刚开始使用是比较困难的,通过老师的指导、翻阅了大量的相关资料,不能说已经掌握了MATHEMATICA软件的应用,但是对一些基本知识是有所了解的,在学习的过程中我们进一步对MATHEMATICA编程中的常用语句、过程已经有了初步掌握。这次毕业设计,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。这次课程设计终于顺利完成,在设计中遇到的运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论