您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > Simulink在线帮助文档
1本科毕业论文翻译Simulink工作原理导言Simulink是一个软件包,它可以让您将模型,模拟和分析系统,其输出随时间而改变。这些系统通常被称为动态系统。该仿真软件可用于探索行为的范围广泛的现实世界的动态系统,包括电路,减震器,制动系统,以及许多其他的电气,机械和热力系统。本节说明Simulink的工作原理。基于Simulink的系统仿真是一个动态的过程,分为两步:首先,用户利用仿真模型编辑器创建一个框图,模型图形化地描述了系统中基于时间输入,状态和输出之间的数学关系。然后用户命令Simulink软件从指定的开始时间到指定的停止时间,模拟模型所代表的系统。动态系统建模框图语义一个simulink结构图模型是对动态系统的绘图式的数学描述。动态系统的一个典型框图模型图形由块和线(信号)。这些框图模型的历史是从工程领域,如反馈控制理论与信号处理而得。框图内的块定义一个动态系统本身。以框图的每个基本动态系统之间的关系由利用连接块的信号说明。集体中的框图的块和行描述的整体的动态系统。Simulink通过介绍两种典型的模块:虚拟模块和非虚拟模块来扩展那些典型的结构图模型。2虚拟模块代表子系统。虚拟模块的存在仅是为了方便组织图形,他们并不影响方程所描述的框图模型。您可以使用虚拟模块,以改善模型的可读性。一般情况下,模块和线可以用来描述许多“计算”的模式。典型的一个例子是一个流程图。流程图包括模块和线,但是无法使用一般动态系统流程图语义来描述。术语“基于时间的模块框图”是用来区分描述动力系统的框图与其他形式的框图,并且框图(或模型)是指一个基于时间的框图或模型,除非上文中有特别的指出:1.时间开始于一个用户指定的“开始时间”,并结束于用户指定的“停止时间。对这些关系的每一个评估被称为时间步长。2.信号代表数量随时间变化,并确定了各点之间的方框图的开始时间和结束时间。3.信号和状态变量之间的关系由模块代表的一组方程所决定。。这些方程定义了输入信号,输出信号和状态变量之间的关系。,即建立方程所需要的系数。建立模型Simulink产品为您提供了一个图形编辑器,可以让您创建和连接各种类型的实例模块(见创建一个模型),通过模块库从模块类型库中选择相应的模块(见模块-按字母顺序排列)。用户还可以创建自己的块类型和使用Simulink编辑器来创建在同一张图上的实例。用户定义的块被称为自定义模块。时间时间是一个模块框图固有组成部分,模块框图模拟的结果是随着时间而改变的。换句话说,模块框图代表了一个动态系统瞬间的状态。确定一个系统随着时间推移的行为,从而引起反复求解模型的时间间隔,称为模型的时间步长,从开始的时间到结束的时间。求解一个连续时间步长模型的过程被称为模型代表的模拟系统的仿真过程。3状态通常情况下一些系统的当前值,输出的都是当前的一些变量,这些变量被称为状态变量。系统从框图中计算当前时间步长下的状态的值并保存,用于计算下一个时间步长时候的状态的值。这项任务通常在仿真期间模型定义状态的时候执行。在Simulink模型中,有两种状态会发生:离散和连续状态。连续状态不断的变化。连续状态的一个例子就是汽车的位置和速度。离散状态是一个近似的连续状态,即用有限(周期或非周期)的时间间隔来校正。一个离散状态的例子就是汽车数字里程表上每秒显示的位置,而不是连续的。在这种限制条件下,当一个离散状态的时间间隔趋近于0的时候,这个离散状态也就趋近与连续状态。特别是,当一个模块需要部分或全部上一级的输出以计算当前的输出时,这个模块隐性的定义看一组需要在时间步长之间保存的状态。:定义连续状态系统的模块包括以下标准的Simulink模块:1.积分模块2.状态空间模块3.传递函数模块4.变量迁移延迟模块5.零极点模块一个模型总的状态数量是各个模块所定义的状态的总和。决定一个框图中的状态数量,要分解这个框图中所包含的各种类型的模块,然后才能根据各个模块所定义的状态来计算总的模块的数量。这项任务在模型仿真的汇编阶段执行。用状态工作执行状态下列的工具在仿真期间用来确定,初始化,和运行模型的状态:1.model命令展示了模型所定义的状态的一些相关信息,包括的模型定义的总的状态数量,定义每一个状态的模块,以及各个状态的初始值等。42.Simulink调试器显示了仿真期间状态在每一个时间步长的值,并且,(见仿真调试器)。3.模型的参数配置对话框中的数据导入/导出窗格(见导入和导出数据)可以让您可以指定状态的初始值,并且可以在以队列或矩阵的形式记录仿真期间状态在每一个时间步长的值。4.块参数对话框(和ContinuousStateAttributes参数)可以让您对采用连续状态的模块命名(如积分模块)。这可以简化分析数据记录下来供状态使用,尤其是当一个模块存在多个状态的时候。5.两缸负荷约束模型的演示连续状态的日志。连续时间系统计算连续状态需要知道它的变化率,或者是导数。由于连续系统的变化率代表了其自身不断变化(即本身是一个状态),计算连续状态的当前值需要在仿真一开始的时候对倒数进行积分。因此对一个连续状态的系统建模需要对在每个时间步长上计算状态的倒数的过程进行说明。仿真框图使用积分模块来表示积分,以及用一连串的模块连接到积分模块的输入端以此来表示对系统状态求倒数的方法。连接到积分模块输入端的一连串的模块框图对应的是常微分方程(ODE)。一般情况下,除了简单的动态系统,对现实中的用常微分方程描述的动态系统积分是没有办法的。Simulink软件自带有最常见的常微分方程的积分方法,同时允许用户在执行仿真时,选择哪一种方法来对状态进行积分。要计算一个连续时间系统状态的当前值,就必须对仿真开始时刻的初始值进行积分。积分结果的精确性取决于两个时间步长之间的间隔大小。。一些常微分方程求解器,称为可变时间步长求解器,可以根据状态的变化率,自动改变时间步长的间隔,以在模拟进行过程中实现特定的精度。用户可以指定时间间隔。为了尽量减少计算工作量,变步长求解器通过最大限度加大状态的变化率来达到用户指定的精确度。离散时间系统要计算离散时间系统,需要知道系统当前时刻的值和上一时刻的值之间的关5系,这种关系被描述为系统的更新功能。离散时间计算一个离散时间系统的状态,需要知道系统在当前时间步长的值以及在上一个时间步长的这指的时离散系统的更新功能离散时间系统的值不仅仅取决与上一个时间步长的值,还取决因此,对离散系统建模需要对上一个时间步长的输入进行建模。Simulink框图使用被称为离散模块的特定类型的模块,来指定更新功能以及连接在离散模块端口的一连串模块,这些模块根据上一个时间步长的输入对系统进行建模。和连续时间状态一样,离散时间状态对仿真的时间步长做了限制。具体来说,步长必须确保模型所有的采样时间都能够落如其中。这项任务指派一组叫离散求解器的Simulink系统来执行。Simulink提供了两个离散求解器:固定步长离散求解和可变步长离散求解。固定步长离散求解器确定一个固定的步长,该步长能够满足系统中所有离散状态的采样时间,不管在满足采样时间的时刻,状态是否发生变化。相比之下,变步长离散求解器改变步长以确保只有在离散状态发生变化的时候才满足采样时间的要求。混合系统建模混合系统是一个既有离散状态和连续状态的系统。严格地说,任何包含有连续和离散采样时间的系统都当成混合系统,假设,该模型包含离散和连续状态。Simulink软件通过离散求解器所确定的下一抽样时间命中,作为连续求解器额外的制约因素来满足这一要求。连续状态求解器必须选择一个接近仿真上限时间但又不超过下一步采样时间的时间步长。连续状态求解器可以在短的时间步长的命中下一个采样的时间,以满足其精确度约束,但即便精确度允许,它也不能超过下一个采样时间。模块参数很多标准的模块的关键功能都是参数化的。例如,Simulink常数模块的常数值时一个参数每个参数化的模块都有一个参数设置对话框,可以让您设置参数的值。您可以使用MATLAB公式来指定参数值。在仿真开始前,Simulink会对公式进行估算。这使您能够确定最适合的参数的值。6一个参数化的模块有效的代表了一个家族的相似的模块。例如,当创建一个模型的时候,你可以设置个别实例的模块的参数的值,使每个个体的行为都是不同的。因为它允许每个标准模块代表一个家族的模块,模块参数化大大提高了标准Simulink库的建模能力。可调的参数很多模块的参数都是可调的。可调参数是不用编译模型就能够改变的参数(见模型汇编以了解更多编译模型的信息)。举例来说,增益模块的增益参数时可以调整的。在仿真运行过程中,你可以改变模块的增益。如果在仿真运行过程中,一个参数时不可调的,那么,控制对话框中将设置参数已被禁用。注意:在仿真运行过程中,你不能通过对话框或模型浏览器来改变资源模块的参数值。打开一个可调参数模块的对话框会导致仿真暂停。当仿真暂停的时候,你可以改变对话框中显示的参数值。但是,您必须关闭该对话框,以使更改生效,并允许仿真继续。应当指出,参数的变化不是立即发生,而是先排队等候,然后在模型的下一个时间步长时开始执行。回到我们常数块的例子中,它定义的函数是:signal(t)=ConstantValue。如果我们允许常数值迅速变化,那么,参数值发生变化这一刻的解将时无效的。因此,我们必须排队等候以在下一个时间步长处理。您可以使用最优化窗格中的内置的参数选项来指定系统中所有的参数都时不可调的,除了你所指定的那些。这可以加快执行大型模型的速度,而且也可以加快模型生成代码的速度。见参数配置对话框中的更多信息。模块采样时间每个仿真模块都定义了采样时间以界定模块什么时候开始执行。SampleTime参数来指定模块的采样时间。共同的选择包括离散的,持续的,以及继承采样时间。共同采样时间类型采样时间实例7共同采样时间类型采样时间实例离散[Ts,To]延迟,数字滤波器连续[0,0]积分继承[–1,0]增益,加和离散模块来说,模块的采样时间时间是一个向量连续采样的时间间隔,而采样时间的初始偏移量。与此相反,非离散模块的采样时间用零,负整数或无穷大的数来描述。(见如何查看采样时间信息)例如,有一个采样时间为[0,0]的连续模块,并用来对连续状态系统建模(如汽车加速)。鉴于表明采样时间类型的继承模块象征性地为[-1,0]和Simulink然后决定的实际的值为基础的背景下,继承模块的模式。请注意,并非所有模块都能接受所有类型的采样时间。例如,离散模块不能接受连续采样时间。对于视觉帮助,Simulink允许选择颜色编码和注释任何框图来说明采样时间的类型和速度。在一个图例中,你可以使用任意的颜色和注释。欲了解更多关于采样时间的讨论,见(如何查看采样时间信息)。自定义模块您可以创建自定义模块库,在您的模型中你可以使用它们。。要创建自定义图形模块,你画一个框图代表模块的行为,利用Simulink的封装技术,按照Simulink子系统的要求将模块封装起来,并提供一个参数对话框。要创建一个编程模块,您可以建立一个包含模块系统函数的或,(见编写S-函数)。由此产生的文件被称为S-函数。然后,您就可以将S函数与您模型中模块具体的结合起来。您可以通过封装子系统添加一个参数对话框到S函数模块,同时将参数对话框添加到子系统中。见创建自定义模块以了解更多信息。8系统和子系统Simulink的模块可以包含不同的层次。每一层由一个子系统定义。子系统时整个模块框图的一部分,但是它一点都不影响模型框图的功能。子系统主要为组织框图方面提供帮助。子系统不能单独的定义一个框图。Simulink软件区分两种不同类型的子系统:虚拟子系统和非虚拟子系统。主要的不同之处在于,非虚拟子系统提供了控制子系统进行评估时间的能力。虚拟子系统模型中的虚拟子系统提供了图形化的层次划分。虚拟子系统不影响系统执行。在仿真执行期间,仿真引擎使所有虚拟子系统变单调,即在仿真执行之前扩大了子系统。这种扩张方式与C或C++中的宏编程语言非常相似。一般来说,会有一个被称为根系的系统顶层框图,还有一些低级别的系统来自非虚拟子系统和其
本文标题:Simulink在线帮助文档
链接地址:https://www.777doc.com/doc-2858579 .html