数学模型的simulink实现子系统S函数.ppt
《数学模型的simulink实现子系统S函数.ppt》由会员分享,可在线阅读,更多相关《数学模型的simulink实现子系统S函数.ppt(71页珍藏版)》请在三一办公上搜索。
1、MATLAB教程 simulink-电气工程系研究生,Simulink建模的基础知识(简介,模块)open_system(simulink)%打开模型库 或 simulinkSimulink建模与仿真(步骤、仿真算法与控制参数)除了用simulink菜单启动系统仿真的进程外,还可以调用sim()函数来进行仿真分析,调用格式为:t,x,y=sim(模型名,仿真终止时间,options)其中仿真控制参数options可通过simset()函数来设置,调用格式为:options=simset(参数名1,参数值1,参数名2,参数值2,)例如,如果希望把相对误差限RelTol由默认值10-3修改为10-
2、7,则 options=simset(RelTol,1e-7)或options.RelTol=1E-7 然后,在使用sim()函数时使用options即可实现修改。,MATLAB教程 simulink-电气工程系研究生,非线性微分方程的框图求解例5-2用框图形式表示出该方程:使用三个out端口,将仿真数据输出到工作空间,仿真时间100s,(m51.mdl),MATLAB教程 simulink-电气工程系研究生,Out端口可向MATLAB工作空间中返回两个变量,tout和yout,其中tout为列向量,表示各个仿真时刻,yout为列向量(本例中使用三个单信号out口,则为三列)。该电路仿真完成后
3、,可以在MATLAB命令窗口使用绘图语句显示波形:,MATLAB教程 simulink-电气工程系研究生,如要另外打开一个figure窗口显示第一个out口得曲线则:,MATLAB教程 simulink-电气工程系研究生,系统的相空间表示:,MATLAB教程 simulink-电气工程系研究生,如要另外打开一个figure窗口显示第一个out口得曲线则:,MATLAB教程 simulink-电气工程系研究生,对于上例,也可使用向量化的结构实现,simulink的模块中很多是支持向量化输入的,可以用Mux模块将若干路信号组织成一路信号,这一路信号的各个分量为原来的各路信号。(m52.mdl)其中
4、三个fcn的设置自上而下为:0.2+(u1-5.7)*u(3)u1+0.2*u2-u2-u3,MATLAB教程 simulink-电气工程系研究生,运行该系统,在命令窗口查看波形,MATLAB教程 simulink-电气工程系研究生,Simulink提供了向量型模块的修饰方法:,MATLAB教程 simulink-电气工程系研究生,选中该两项后原系统变化:多路信号线变粗,且显示维数,MATLAB教程 simulink-电气工程系研究生,多变量时间延迟系统的仿真例5-3(c5mmimo.mdl),MATLAB教程 simulink-电气工程系研究生,多变量时间延迟系统的仿真例5-3,MATLAB
5、教程 simulink-电气工程系研究生,计算机控制系统的仿真例5-4假设受控对象和控制器都已经给定,MATLAB教程 simulink-电气工程系研究生,首先在simulink平台搭建系统并保存为c5mcompc.mdl(文件名在后面要进行调用),MATLAB教程 simulink-电气工程系研究生,然后在MATLAB命令窗口进行:,MATLAB教程 simulink-电气工程系研究生,如需改变参数,只需要在MATLAB命令窗口重新输入即可,例如T即采样周期改为1,仿真时间改为30s,则,MATLAB教程 simulink-电气工程系研究生,时变系统的仿真例5-5已知受控对象模型考虑一个PI
6、控制系统模型如图其中Kp=200,Ki=10,饱和非线性的宽度为试分析闭环系统的阶跃响应曲线。首先先要将被控对象变换成一阶微分方程组取状态变量得一阶微分方程组,MATLAB教程 simulink-电气工程系研究生,在simulink中搭建模型,MATLAB教程 simulink-电气工程系研究生,然后在MATLAB命令窗口进行,MATLAB教程 simulink-电气工程系研究生,多采样速率系统的仿真例5-6假设在如图给出的双环电机控制系统中,内环为电流环,采样速率为T1=0.001s,控制器模型为D1(z)=(0.0967z-0.0965)/(z-1),控制器外环的采样周期为T2=0.01s
7、,控制器模型为D2(z)=(5.2812z-5.2725)/(z-1).,MATLAB教程 simulink-电气工程系研究生,搭建simulink模型:注意:此时要将第一个零阶保持器和D1(z)的采样时间设置为0.01,第二个零阶保持器和D2(z)的采样时间设置为0.001,MATLAB教程 simulink-电气工程系研究生,在MATLAB命令窗口进行:此时在simulink中,双击示波器,也能看到波形。如果两个采样周期不是整数倍关系,则需要用Rate Transition模块进行转换。,MATLAB教程 simulink-电气工程系研究生,系统的脉冲响应分析例5-7可以对例5-5求其脉冲
8、响应,MATLAB中没有提供单位脉冲信号模块,可用阶跃模块通过参数设置来近似,令阶跃时间为a,a取很小,则将阶跃初始值设置为1/a,终止值为0,即可近似为单位脉冲。(c5mtimva.mdl),MATLAB教程 simulink-电气工程系研究生,非线性系统分析与仿真分段线性的非线性环节 从simulink所提供的非线性模块来看,数量不多,但利用simulink模块可以搭建出任意的非线性模块。单值分段线性的非线性环节可用look-up table来建立。设起始点、各个拐点以及终点为x0,y0,x1,y1xn,yn,那么只需将各个x值设置在向量输入值,各个y设置在向量输出值栏中即可。,MATLA
9、B教程 simulink-电气工程系研究生,实际设置方式:双击lookup table模块打开参数设置窗口,在Vector of input values栏输入输入值序列,在Table data栏输入对应输出值序列,MATLAB教程 simulink-电气工程系研究生,如果非线性中存在回环或多值属性,则要将它分解成多个条件单值属性:例5-8:产生继电回环回环 图中有两个查表模块,上边的规定了输入上升时的路线,下边的规定了输入下降时的路线。使用memory模块记录上个计算点的值,它与当前输入进行比较,如果当前值大于上个值,则switch接通上边的查表模块,按照上升路线变化,如当前值小于上个值,s
10、witch接通下边的查表模块,按照下降路线变化(c5mloop.mdl),MATLAB教程 simulink-电气工程系研究生,其中两个查表环节的参数为,MATLAB教程 simulink-电气工程系研究生,例如实现饱和继电回环(c5mloopa.mdl)上下两个查表模块的参数如下:,MATLAB教程 simulink-电气工程系研究生,例5-9使用饱和继电回环进行如下仿真:在正弦波得幅值分别为2、4、8时的仿真结果:(c5msin.mdl),MATLAB教程 simulink-电气工程系研究生,非线性系统的极限环研究 有时非线性系统在没有外界作用的情况下,可能会出现一种叫做“自激振荡”的等幅
11、振荡现象。例5-10下面这个含有回环非线性环节的系统(c5mlimcy.mdl),MATLAB教程 simulink-电气工程系研究生,可在simulink窗口直接运行,也可在MATLAB命令窗口进行:可以从相平面图中看出,相平面最终稳定在一个封闭的曲线上。这个封闭曲线成为极限环,是非线性系统响应的一个特点。,MATLAB教程 simulink-电气工程系研究生,非线性系统的线性化 实际系统中往往存在非线性环节,这时常需要对系统进行线性化,以简化系统的分析和设计。系统的线性化实际是在系统的工作点附近的领域内提取系统的线性特征,从而对系统进行分析设计。通常非线性系统的一般格式为:所谓工作点,就是
12、当状态变量的导数趋于0时的状态变量值。即令得到的状态变量值。MATLAB提供了Simulink模型的工作点求取函数trim(),其调用格式为:x,u,y,xd=trim(模型名,x0,u0)其中“模型名”是Simulink模型的文件名,变量x0,u0为数值算法所要求的 起始搜索点,是用户应该指定的状态初值和工作点的输入信号。对不含非线性环节的系统,不需x0,u0的设置。实际的工作点在x,u,y变量中返回,而状态变量的导数值在xd中返回(理论上,状态变量在工作点处的一阶导数都应为0)。,MATLAB教程 simulink-电气工程系研究生,得到x0后,非线性系统在此工作点附近,在u0输入信号作用
13、下可近似表示为 选择新的状态变量,令 且则可将上式写成线性形式:其中,MATLAB教程 simulink-电气工程系研究生,MATLAB中给出了Simulink模型线性化的linmod2()等函数,用以在工作点附近提取系统的线性化模型。使用这些函数可直接获得系统的状态方程模型。调用格式如下:A,B,C,D=linmod2(模型名,x0,u0);一般连续系统线性化 A,B,C,D=linmod(模型名,x0,u0);一般连续延迟系统线性化 A,B,C,D=dlinmod(模型名,x0,u0);含离散环节的系统线性化 其中x0,u0为工作点的状态与输入值,可由trim()函数求出。对只由线性模块构
14、成的Simulink模型来说,可省略这两个参数。调用了这些函数后,将自动返回输入到输出之间的线性状态方程模型。linmod2()和linmod()两者功能相似,但算法不同,前者可处理延迟环节的Pade近似,而后者不能。,MATLAB教程 simulink-电气工程系研究生,例5-11考虑例5-3多变量系统模型,此时将其输入用输入端口替代。对于时间延迟模块,将Pade order(for linearization)栏目设置为2,可自动用二阶Pade近似取代原来的时间延迟环节。(c5mmdly.mdl),MATLAB教程 simulink-电气工程系研究生,保存,在MATLAB命令窗口执行:,M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学模型 simulink 实现 子系统 函数
文档标签
- 研究生精读教程第三版PPT下册Unit
- Native教程一步一步搭建React
- 模块二电气控制电路与PLC程序的转换
- MATLAB-SIMULINK讲解完整版
- MATLABSimulink混沌理论仿真
- MATLAB教程及实训
- 研究生报考与复习指导讲座课件
- matlab教程ppt完整版
- PCR教程研究生用
- Matlab教程-第二章课件
- matlab教程加油
- matlab教程
- 研究生ENDNOTE教程part1
- MATLAB教程及实训教程全集ppt2
- matlab教程第1章
- simulink-matlab教程
- 第7章simulink子系统
- MATLAB教程PPT课件
- 研究生仿真课之Pspice的使用
- 电气工程制图王怀英模块三组合体的绘制与识读
链接地址:https://www.31ppt.com/p-6578170.html