SMULINK实验课程设计.doc_第1页
SMULINK实验课程设计.doc_第2页
SMULINK实验课程设计.doc_第3页
SMULINK实验课程设计.doc_第4页
SMULINK实验课程设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

引言“仿真”对应的英文单词是“Simulation”,仿真已成功应用于工业,农业,商业等众多领域,随之,经过一个世纪的发展历程,仿真科学与技术已形成独立的知识体系,随着科学技术的发展,工程系统正朝着更加复杂的方向发展,这主要是由于复杂的任务和高精度的要求所引起的。一个复杂系统可能有多个输入和多个输出,并且以某种方式相互关联或耦合,可能是时变的。由于需要满足控制系统性能提出的日益严格的要求,系统的复杂程度越来越大,为了分析这样的系统,必须简化其数学表达式,转而借助于计算机来进行各种大量而乏味的分析与计算,并且要求能够方便地用大型计算机对系统进行处理。从这个观点来看,状态空间法对于系统分析是最适宜的。大约从1960年升始发展起来。这种新方法是建立在状态概念之上的。状态本身并不是一个新概念,在很长一段时间内,它已经存在于古典动力学和其他一些领域中。 经典控制理论是建立在系统的输入-输出关系或传递函数的基础之上的,而现代控制理论以n个一阶微方程来描述系统,这些微分方程又组合成一个一阶向量-矩阵微分方程。应用向量-矩阵表示方法,可极大地简化系统的数学表达式。状态变量、输入或输出数目的增多并不增加方程的复杂性。事实上,分析复杂的多输入-多输出系统,仅比分析用一阶纯量微分方程描述的系统在方法上稍复杂一些。本课程将主要涉及控制系统的基于状态空间的确定、然后将其进行仿真,再对仿真做分析与设计。 1.设计概述1.1 设计目的 学习4阶龙格-库塔法的基本思路和计算公式,加深理解4阶龙格-库塔法的原理和稳定域。加深理解仿真的稳定性,仿真步长对仿真精度的影响。1.2 设计内容1、线性定常系统2、非线性系统其中:r=0.001, a=210-6, s=0.01, b=110-6, x(0)=12000, y(0)=600。1.3 设计任务(1) 查阅资料,确定系统设计方案(2) 说明设计原理,构建系统,SIMULINK仿真(3) 撰写课程设计说明书.1.4设计基本要求与要点1、 所采用方法的基本思路和计算公式。2、仿真步骤及说明。3、仿真过程及仿真结果分析要点:(1)学习4阶龙格-库塔法的基本思路和计算公式;(2)为了保证仿真的稳定,分析线性定常系统,其最大仿真步长为多少? 2状态空间模型仿真方案设计2.1 确定设计过程 在熟悉课题,明确任务的基础上,查阅相关资料,理清设计思路,综合考虑总的设计时间和各部分设计所需时间,最终决定将本次设计分四步进行。1熟悉课题,明确任务,查阅相关资料,确定总体设计方案;2构建系统,同时了解设计原理及基本原理;3对所构建的系统进行仿真,选择合适的步长;4. 观察仿真结果,进行仿真分析。2.2 设计基本原理 4阶龙格-库塔法是一种递推的方法,其基本公式为:y(tk+1)yk+1=yk+(K1+2K2+2K3+K4)其中:K1=f(tk,yk),K2=f(tk+h/2,yk+(h/2)*K1),K3=f(tk+h/2,yk+(h/2)*K2),K4=f(tk+h,yk+h K3) 2.3设计基本思想 由微分方程确定状态方程,选择合适的状态空间,运用SIMULINK仿真工具进行实验微型计算机、MATLAB软件。Sources(信号源),Sink(显示输出),Continuous(线性连续系统),Discrete(线性离散系统),Function & Table(函数与表格),Math(数学运算), Discontinuities (非线性),Demo(演示) 2.4 状态空间方程的确定1.状态:动态系统的状态是系统的最小一组变量(称为状态变量),只要知道了在时的一组变量和时的输入量,就能够完全确定系统在任何时间时的行为。状态这个概念决不限于在物理系统中应用。它还适用于生物学系统、经济学系统、社会学系统和其他一些系统。2.状态变量:动态系统的状态变量是确定动态系统状态的最小一组变量。如果至少需要n个变量才能完全描述动态系统的行为(即一旦给出时的输入量,并且给定时的初始状态,就可以完全确定系统的未来状态),则这n个变量就是一组状态变量。状态变量未必是物理上可测量的或可观察的量。某些不代表物理量的变量,它们既不能测量,又不能观察,但是却可以被选为状态变量。这种在选择状态变量方面的自由性,是状态空间法的一个优点。3.状态空间:由n个状态变量所张成的n维欧氏空间,称为状态空间。任何状态都可以用状态空间中的一点来表示。5.状态空间方程 在状态空间分析中,涉及到三种类型的变量,它们包含在动态系统的模型中。这三种变量是输入变量、输出变量和状态变量。在后面的分析中我们将会看到,对于一个给定的系统,其状态空间表达式不是唯一的。但是,对于同一系统的任何一种不同的状态空间表达式而言,其状态变量的数量是相同的。假设多输入、多输出n阶系统中, r个输入量为和m个输出量。n个状态变量为于是可以用下列方程描述系统: (1.2.1)输出方程为: (1.2.2)用向量形式描述,可写为:状态方程: (1.2.3) 输出方程: (1.2.4)其中 2.5由状态空间方程确定系统模型系统模型为:1. 线性定常系统 得到模型如下图所示: 2、非线性系统 其中:r=0.001, a=210-6, s=0.01, b=110-6, x(0)=12000, y(0)=600。得到模型如下图所示: 3 系统仿真3.1仿真方法 利用MATLAB中的Simulink模块进行线性定常和非线性系统的仿真。3.2 Simulink简介 Simulink是MATLAB软件包之一,用于可视化的动态系统仿真,它适用于连续系统和离散系统,也适用线性系统和非线性系统。它采用系统模块直观地描述系统典型环节。因此可十分方便地建立系统模型而不需要花较多时间编程。正由于这些特点,Simulink广泛流行,被认为是最受欢迎的仿真软件。3.3 Simulink仿真步骤Simulink实际上是面向结构的系统仿真软件。利用Simulink进行系统仿真的步骤是:(1)启动Simulink,进人Simulink窗口;(2)在Simulink窗口下,借助Simulink模块库,创建系统框图模样并调整模块参数;(3)设置仿真参数后,启动仿真;(4)输出仿真结果。3.4启动Simulink窗口及模型库用户首先进入 MATLAB COMMAND窗口,键人Simulink,立即弹出 Simulink模块库窗口,如图3-1所示。 图3-1 Simulink模块库3.5 系统框图模型的建立系统框阁模型建立的过程如下:1、建立模型窗口建立新的模型窗口常有四种方法:(1)在 MATLAB COMMAND窗口下,键人Simulink,弹出Simulink模块库窗口同时,也弹出一个Untitled窗口,该窗口为未取名的模拟窗口,用户可在该窗口下建立新的系统框图模型。(2)在Simulink窗口下,用鼠标选取菜单File中New子菜单的Model后,会弹出一个Untitled窗口,如图3-2所示,该窗口供用户建立系统框图模型。 图3-2 Untitled模型窗口 3)若模型文件已存在,Simulink窗口下,选择菜单File中Open命令,输入文件名,即打开一个已存在的方框图模型。2、选取模块或模块组在建立框图模型过程中,需进行如拷贝、删除模块等操作,必须首先选择模块或模块组,具体操作如下:(1)在模型或模块库的窗口内,找出所需模块图标,用鼠标左键单击。图标四角出现黑圆点,表示该模块已被选中。(2)在模型或模块库窗口内,用鼠标左键在窗口矩形边界两个对角单击一下,即生成一个边界框将所需几个模块图标包围,松开鼠标,则边界框内模型和连接线出现黑圆点,表示这些模型(包括在连接线)均被选中。用同样方法可以选取一个系统框图模块的全部模块。3、模块拷贝及删除用户在建立自己模型时候,常常需要从Simulink模块库,其他模块库或其他模型窗口复制所需的模块并移动至自己的模型窗口内。有两种操作方法;鼠标拖动方法和菜单命令法。介绍一种如下。鼠标拖动法如下:(1)打开模块库窗口或模型窗口。(2)将鼠标移至要拷贝的模块图标上,按下鼠标左键并保持。(3)移动鼠标将模块图标拖至目标模型窗口一定位置。(4)松开鼠标左键,模块图标保留在目标模拟窗口内,模块拷贝完成。模块的删除有两种方法:(1)选取要删除的模型,从Edit菜单中选取Clear或Cut令,用Cut命令删除的模块允许使用Paste粘贴在另一个地方。(2)选取要删除的模块,并按Del键。Simulink允许模块更名,图标大小改变、模块图标移动、模块图标旋转等操作。模块图标旋转快捷键是CTRL+R。4、模块参数设置用鼠标双击待设置参数的模块图标,打开模块对话框,按对话框栏目中提供的信息,输入或改变模块参数。按Close,模块参数设置或修改完成。5、模块连接线模块之间的连接线是信号线,每根连接线都表示标量或向量信号的传输,连接线的箭头表示信号流向。连接线把一个模块的输出端口和另一个模块的输入端口连接起来,也可以利用分支线把一个模块的输出端口和几个模块的输人端口连接起来。6、模型文件取名及保存一旦把模型窗口上各模型连接起来,一个系统方框图模型建立工作就已完成。选择模型窗口 File菜单中Save as命令,弹出对话框,填人模型文件名。3.6 系统仿真运行系统仿真运行常有两种方法进行:1、Simulink模型窗口下的仿真运行在Simulink模型窗口下进行仿真操作简单、直观,不必记忆命令的语法规则,人机交互方式选择或修改仿真参数,模型参数等。具体操作如下:(1)打开系统模型窗口。(2)从菜单Simulation中选取Parameters,弹出仿真参数对话框。如图3-3所示。 图3.3 (3) 应用仿真参数在通过 Simulation Prameters对话框设置或修改好仿真参数后,准备应用到用户模型仿真中,按对话框中Apply键,再按对话框中Close键,关闭对话框。(4)仿真开始和停止从Simulation菜单中选取Start命令,仿真立即开始运行,这时Start变为Stop。若要停止仿真,从Simulation菜单中选择Stop,仿真运行立即停止。若要使仿真运行暂停,可从Simulation菜单中选择Pause,这时Pause变为Continue。若要使仿真继续运行,选择Continue。 3.7 仿真结果输出利用Scope模块在仿真期间,Scope模块还具有放大、缩小功能以便更清晰显示感兴趣的区域,Scope模块还可将数据存储在丁作空间(Workspace)内。3.8 龙格-库塔法简介及步长的选择龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。龙格库塔方法的理论基础来源于泰勒公式和使用斜率近似表达微分,它在积分区间多预计算出几个点的斜率,然后进行加权平均,用做下一点的依据,从而构造出了精度更高的数值积分计算方法。如果预先求两个点的斜率就是二阶龙格库塔法,如果预先取四个点就是四阶龙格库塔法。一阶常微分方程可以写作:y=f(x,y),使用差分概念。(Yn+1-Yn)/h= f(Xn,Yn)推出(近似等于,极限为Yn)Yn+1=Yn+h*f(Xn,Yn)另外根据微分中值定理,存在0t1,使得Yn+1=Yn+h*f(Xn+th,Y(Xn+th)这里Kf(Xn+th,Y(Xn+th)称为平均斜率,龙格库塔方法就是求得K的一种算法。利用这样的原理,经过复杂的数学推导(过于繁琐省略),可以得出截断误差为O(h5)的四阶龙格库塔公式:K1f(Xn,Yn);K2=f(Xn+h/2,Yn+(h/2)*K1);K3=f(Xn+h/2,Yn+(h/2)*K2);K4=f(Xn+h,Yn+h*K3);Yn+1=Yn+h*(K1+2K2+2K3+K4)*(1/6);所以,为了更好更准确地把握时间关系,应自己在理解龙格库塔原理的基础上,编写定步长的龙格库塔函数,经过学习其原理,已经完成了一维的龙格库塔函数。仔细思考之后,发现其实如果是需要解多个微分方程组,可以想象成多个微分方程并行进行求解,时间,步长都是共同的,首先把预定的初始值给每个微分方程的第一步,然后每走一步,对多个微分方程共同求解。想通之后发现,整个过程其实很直观,只是不停的逼近计算罢了。编写的定步长的龙格库塔计算函数:4阶龙格-库塔方法(RK4)可模拟N=4的泰勒方法的精度。这种算法可以描述为,自

温馨提示

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

评论

0/150

提交评论