- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[打印]6MATLABSIMULINK系统建模设计与仿真基础3
系统的数学模型可以用多种相互等价的数学方程形式来表达,例如微分方程组与连续状态方程、差分方程组与离散状态方程等等,对于线性时不变系统还经常在变换域中来描述,例如频域、复频域和Z域描述等等。对于单输入单输出的线性时不变系统还常用传递函数或冲激响应来描述系统。 除了用方程形式描述外,还可以有多种描述方法。 例如工程上常用的方框图法,信号流图法等。信号流图是对系统方框图的抽象。 我们可以根据系统的微分方程或状态方程组来绘制信号流图。一般先将微分方程或状态方程组通过拉普拉斯变换表示为复变量 s 的代数方程(组);对于离散时间系统,差分方程则使用Z变换或用延时算子表示为代数方程。 信号流图实质上是描述系统状态变量间关系的数学方程的图形化表示。信号流图的符号简单,绘制方便,运用灵活。利用梅森规则可以直接根据信号流图写出系统的传递函数。反之,若给定系统的传递函数,通过梅森规则也可直接绘制出系统的信号流图。 例: 将下图所示的系统方框图用信号流图表示,并使用梅森规则直接写出系统传递函数。 根据图中节点上的信号关系可以直接得出相应的信号流图,如下图(a)所示。注意到其中所选择的状态变量节点是延迟环节的输出点,它们位于串联支路中,通过重新选择新的状态变量节点就可以消去这些节点,从而将信流图化简,如图下(b)所示。 显然,信流图中有两条通路,一个环路,且环路与其中一条通路接触,与另外一条通路则不接触。应用梅森规则直接可得出传递函数为 例:一个电路系统及其方框图模型如上图所示,将电压源v(t)视为输入信号f(t),电容两端的电压u(t)视为输出信号y(t),设系统的状态变量为电感元件上的电流以及电容元件两端的电压,即x1 (t)=i(t),x2 (t)=u(t)。试列写的该电路的微分方程,并改写为系统状态方程形式。然后根据状态方程画出系统的实现方框图和信号流图,并求出系统的传递函数模型以及对应的冲激响应解析表达式。通过编程仿真来验证结果。 xdot=zeros(2,1); % 状态变量矩阵初始化 A=[-R/L, -1/L; 1/C, 0]; % 状态方程系数矩阵 B=[1/L; 0]; xdot=A*x+B*f(t); % 状态方程 function input=f(t) input=(t=0); % 输入信号为单位阶跃 我们已经知道,仿真本质上就是利用某种求解算法对系统状态方程进行求解的过程。 在Simulink中规定了固定格式的接口函数形式,称为S-函数。一切Simulink可视化模型都是基于S-函数实现的。 S-函数可以用Matlab语言书写,也可以采用C、C++、Fortran等语言编写。S-函数还可以进行编译,以提高执行速度。Simulink内建的标准模块库就是用S-函数编写并进行编译后形成的。 6.3.2.1 混合系统的状态空间描述 由于S-函数是基于对一般系统的状态空间方程进行求解的一类具有标准函数接口的通用函数,我们首先将系统状态方程描述形式推广到更一般的情形,然后讨论其在S-函数中的实现问题。 对于一般系统,其输入变量、状态变量以及输出变量的数量可以是任意的,其性质可以是连续的,也可以是离散的。如果系统变量的一部分具有连续值,而其余部分是离散的,那么系统就是混合系统。我们通过向量和矩阵方程的形式来描述混合系统。设系统的m个输入变量组成的输入信号向量为 6.3.2.2 用S-函数描述混合系统 S-函数需要针对仿真执行过程中不同的情况进行相应的处理,这些不同情况的处理是: 1 初始化处理:在仿真开始阶段对模块所使用的变量等进行初始化。 2 计算导数:即递推求解微分方程过程。当所计算的系统部分是以微分方程描述的状态方程时,将调用S-函数中的该功能。 3 离散状态更新:即递推求解差分方程的过程。当系统以差分方程描述时,将调用S-函数中的该功能。 4 计算输出:根据系统的输出方程来计算当前状态下的系统输出。 5 计算下一步仿真的时刻:Simulink通过调用S-函数的该项计算来确定下一个仿真时刻。 6 仿真终止:当仿真结束的时候,Simulink将调用该项功能进行一些用户指定的仿真后处理工作。 7 出错处理:当仿真执行过程中出现程序错误,Simulink将调用该项功能进行处理。 6.3.3用Matlab语言编写S-函数 Matlab语言编写的S-函数的标准接口形式如下: [SYS,X0,STR,TS] = SFUNC(T,X,U,FLAG,P1,...,Pn) 一个典型的S-函数的编程结构演示代码如下,其中采用了case语句来实现分支结构。 Simulink仿真过程调用S-函数的流程 Matlab提供了标准S-函数的模板文件sfuntmpl.m,该
您可能关注的文档
- PKAVNet课件示例(存储型XSS的成因及挖掘方法).pptx
- PICC的应用及导管维护907.ppt
- PowerPointPresentation山东大学高能物理研究室.ppt
- PredictingGeneFunctionsfromTextUsingaCross-Species预测基因功能的文本使用跨物种.ppt
- ProcessingMixedLanguageIssues,Findings,andModels(不同语言间的加工处理).ppt
- PreclinicalConsiderationsforProductsRegulatedinOCT用于调节OCT产品临床前的注意事项.ppt
- ProE基础与应用精品教程第5章创建零件基准(创建各种基准).ppt
- PrepLCMS培训教材.pptx
- promechanica分析.ppt
- PT设备工艺质量控制.ppt
文档评论(0)