simulink动态系统建模与仿真第4章.ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
simulink动态系统建模与仿真第4章

 4.1 创建动态系统模型的要素 4.1.1 方块图   Simulink方块图是动态系统数学模型的图形化描述。动态系统的数学模型是由一组方程来表示的,而由方块图模型所描述的数学方程就是众所周知的代数方程、微分方程和/或差分方程。   一个典型的动态系统方块图模型是由一组模块和相互连接的线(信号)组成的,这些方块图模型都来源于工程领域,如反馈控制系统理论和信号处理理论等。每个模块本身就定义了一个基本的动态系统,而方块图中每个基本动态系统之间的关系就是通过模块之间相互连接的线来说明的,方块图中的所有模块和连线就描述了整个动态系统。   方块图模型中的每个模块都属于一个特定的Simulink模块类型,模块的类型决定了模块的输出、输入、状态与时间的关系。在建立系统模型图时,Simulink方块图中可以包含任意数目、任意类型的模块。关于模块的类型,这里介绍两个关键的概念—Simulink中的模块包括非虚拟模块和虚拟模块。非虚拟模块是基本系统,虚拟模块则是为了模型方块图组织结构的方便化而建立的,它在模型方块图所描述的系统方程定义中不起任何作用,如Bus Creator模块和Bus Selector模块就是虚拟模块,它们的作用只是把信号“捆绑”在一起用来简化方块图,而且也增加了模型的可读性。   在Simulink中,方块图(或者说模型)表示的是“基于时间的方块图”。这个含义如下:    (1) Simulink方块图定义了信号和状态变量的时间关系,方块图的解是通过求解整个时间过程中所有的函数方程来获得的,这个时间过程就是由用户指定的“起始时间”开始,至用户定义的“终止时间”结束,每次计算都是在一个时间步内求解这些函数关系。    (2) 信号表示的是整个时间范围内的量值,在方块图的起始时间到终止时间之间的每个时间点上都定义了信号。    (3) 信号和状态变量之间的关系是通过模块所表示的一组方程定义的,每个模块都是由一组方程(也称为模块方法)组成的。这些方程定义了输入信号、输出信号和状态变量之间的关系,方程定义中的所有值称为参数,也就是方程中的系数。 4.1.2 系统函数   每个Simulink模块的类型都是与一组系统函数相关联的,系统函数指定了模块的输入、状态和输出之间的时间关系。这个系统函数包括:   输出函数:表示的是系统输出、输入、状态和时间的关系。   更新函数:表示的是系统离散状态的将来值与当前时刻、输入和状态之间的关系。   微分函数:表示的是系统连续状态对时间的微分、模块当前状态值和输入之间的关系。   系统函数可以表示为: 4.1.3 状态   Simulink模块可能包含有状态,状态(state)是确定模块输出的变量,它的当前值是模块状态和(或)前一时刻输入值的函数。含有状态的模块必须存储前一时刻的状态值,用以计算当前时刻的状态值,因此说,状态是可以保持的。由于含有状态的模块必须存储前一时刻的状态值和(或)输出值用以计算当前时刻的状态值,因此这样的模块也一定都需要内存。   模块的输出是模块输入、状态和时间的函数,描述模块输出对输入、状态和时间的特定函数取决于模块的类型。Simulink模型有两种状态类型:离散状态和连续状态。连续状态是连续变化的,如汽车的位置和速度;离散状态是连续状态的近似,这些状态在有限的时间间隔(周期性或非周期性)内进行更新(重新计算),例如,在数字里程表中显示的汽车位置就是离散状态,这些位置在每秒内进行更新。如果离散状态的时间间隔趋近于零,那么离散状态也相当于连续状态。   Simulink模块明确定义了模型的状态,尤其是需要某些先前时刻的输出或所有输出才能计算当前输出的模块。这些模块明确定义了两个时间步之间需要保存的一组状态,因此说,这样的模块都是有状态的。图4-1是含有状态的模块中输入、输出和状态的图形表示。   模型中状态的总数是模型中所有模块定义的所有状态之和。为了确定模型中的状态总数,Simulink需要分析模型中所包含的模块类型,然后再确定模块类型所定义的状态数目。Simulink会在仿真汇编阶段执行这个工作。   举例来说,Simulink的Integrator(积分器)模块就是一个含有状态的模块。Integrator模块输出的是由仿真起始时刻到当前时刻的输入信号的积分值,当前时刻的输出值取决于在此时刻之前Integrator模块的所有输入值。事实上,积分值只是Integrator模块的一个状态。再举一个例子,Simulink的Memory模块也是一个含有状态的模块,Memory模块存储当前仿真时刻的输入值,并在此时刻之后输出这些值,因此Memory模块的状态就是前一时刻的输入值。   Simulink的Gain模块是个无状态模块,Gai

文档评论(0)

sandaolingcrh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档