第五章 Simulink系统建模与仿真

上传人:人*** 文档编号:589886524 上传时间:2024-09-12 格式:PPT 页数:46 大小:1.35MB
返回 下载 相关 举报
第五章 Simulink系统建模与仿真_第1页
第1页 / 共46页
第五章 Simulink系统建模与仿真_第2页
第2页 / 共46页
第五章 Simulink系统建模与仿真_第3页
第3页 / 共46页
第五章 Simulink系统建模与仿真_第4页
第4页 / 共46页
第五章 Simulink系统建模与仿真_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《第五章 Simulink系统建模与仿真》由会员分享,可在线阅读,更多相关《第五章 Simulink系统建模与仿真(46页珍藏版)》请在金锄头文库上搜索。

1、第五章 Simulink建模与仿真本章重点Simulink基本结构Simulink模块系统模型及仿真一、Simulink简介Simulink 是MATLAB 的工具箱之一,提供交互式动态系统建模、仿真和分析的图形环境可以针对控制系统、信号处理及通信系统等进行系统的建模、仿真、分析等工作可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。一、Simulink简介Simulink的特点框图式建模:用SIMULINK 中丰富的按功能分类的模块库,帮助用户轻松地建立起动态系统的模型(模型用模块组成的框图表示)交互式的仿真环境专用模块库与MATLAB集成一、Simul

2、ink简介Simulink是利用MATLAB的框图结构实现数学计算与分析的一种方法Simulink主要体现的是系统结构和动态运行过程Simulink提供了一个框图组合、连接及参数设置的编程模式,可以通过菜单和鼠标操作将模型库中的功能子模块移至模型文件编辑窗口中进行编辑,通过模块之间的信号连接和参数设置来建立系统模型一、Simulink简介Simulink的建模过程就是根据研究对象的特点和研究目的,从模块库中选择合适的功能子模块并移至编辑窗口中,按设计要求设置好各模块的参数,再将这些模块连接成系统Simulink的仿真过程就是给系统加入合适的输入信号模块和输出检测模块,运行系统,修改参数及观察输

3、出结果等过程二、Simulink的基本结构Simulink窗口的打开命令窗口:simulink工具栏图标:Simulink模块库浏览器左栏:目录右栏:目录下所对应的分类模块图标二、Simulink的基本结构新建模型文件单击Simulink模块库浏览器工具栏:Simulink模块库浏览器主菜单:File菜单用户可以根据设计要求,从Simulink模块库浏览器窗口中选择相应的模块,通过添加或拖动模块的方法将模块移到模型文件窗口,并进行模块间的连接、参数设置、结构编辑、仿真实验、模型文件和数据文件的保存等操作三、Simulink模型创建一个模块就相当于一个具有基本特定功能的命令语句函数,不同模块的适

4、当组合可构成不同功能的系统模型一个典型的Simulink模块包括三部分信源(Source)系统(System)信宿(Sink)无论是信源、系统还是信宿皆可以从Simulink 模块库中直接获得,或由用户根据实际要求采用模块库中的模块搭建而成三、Simulink模型创建模块的操作: Simulink 模块框图是由模块组成的(每个模块代表了动态系统的某个功能单元),模块之间采用连线连接。因此模块是组成Simulink 模型框图的基本单元,为了构造系统模型,就要对其进行相应的操作1、模块的选定(1)选中所需要的模块,然后将其拖到需要创建仿真模型的窗口,释放鼠标,这时所需要的模块将出现在模型窗口中;

5、(2)选中所需的模块,然后右击,在弹出的快捷菜单中执行“Add to XXX”命令(其中XXX是模型的文件名)三、Simulink模型创建2、模块的复制不同窗口的模块复制:(1)在一窗口中选中模块,用鼠标左键将其拖到另一模型窗口,释放鼠标;(2)在一窗口中选中模块,单击“复制”图标,然后单击目标窗口中需要复制模块的位置,最后单击“粘贴”图标同一窗口内的模块复制: (1)按住鼠标右键,拖动鼠标到目标位置,然后释放鼠标;(2)按住Ctrl 键,再按住鼠标左键,拖动鼠标到目标位置,然后释放鼠标三、Simulink模型创建3、模块的移动选中要移动的模块,将模块拖动到目标位置,释放鼠标按键4、模块的删除

6、选中要删除的模块,(1) 选择Edit|Cut(删除到剪贴版),或Edit|Clear(彻底删除);(2) 在模块上右击,在弹出的菜单中执行Cut 或者Clear 命令;(3) 选中要删除的模块,按Delete 键5、调整模块的大小选中模块,模块四角出现了小方块,单击一个角上的小方块并按住鼠标左键,拖动鼠标,出现了虚线框以显示调整后的大小,释放鼠标,则模块的图标将按照虚线框的大小显示三、Simulink模型创建6、模块的旋转选中要旋转的模块,(1) 选择菜单Format|Rotate Block,可以将选定模块旋转90;(2) 选择菜单Format|Flip Block,可以将选定模块旋转18

7、0;(3) 右击,从弹出的快捷菜单中选择相应的命令7、模块加阴影(1)选择菜单Format|Show Drop Shadow,可以给选中的模块加上阴影效果,重新选择Format|Hide Drop Shadow 则可以去除阴影效果; (2) 右击,在弹出的快捷菜单中选择相应的命令三、Simulink模型创建8、颜色设定Format 菜单中的Foreground|Color可以改变模块的前景颜色;Background|Color可以改变模块的背景颜色;模型窗口的颜色可以通过选择Screen|Color来改变9、模块名的操作模块名的修改:单击需要修改的模块名,在编辑框中完成对模块名的修改模块名字体

8、的设置:选中模块,选择菜单Format|Font,打开字体设置对话框(SetFont),可根据需要设置相应的字体模块名的位置改变:用鼠标拖动模块名到相对的位置;也可以先选中模块,选择窗口菜单Format|Flip Name 实现相同的移动三、Simulink模型创建10、模块的参数和特性设置(1) 在模型窗口选中模块,然后选择模型窗口菜单Edit|XXX parameters,这里的“XXX”指的是相应选中模块的模块名(2) 在模型窗口选中模块,右击,选择BLOCK parameters(3) 双击模块,打开模块参数对话框三、Simulink模型创建信号线操作:模块设置好后,需要将它们按照一定

9、的顺序连接起来才能组成完整的系统模型(模块之间的连接称为信号线)1、绘制信号线(1) 将鼠标指向连线起点(某个模块的输出端),此时鼠标的指针变成十字形,按住鼠标不放,并将其拖动到终点(另一模块的输入端)释放鼠标即可;(2) 首先选中源模块,然后在按Ctrl 键的同时,单击目标模块三、Simulink模型创建2、信号线的移动选中信号线, (1)鼠标指向它,按住鼠标左键,拖动鼠标到目标位置,释放鼠标; (2)选择键盘上的上、下、左、右键来移动3、信号线的删除选中信号线, (1) 按Delete 键; (2)选择窗口菜单中的Edit|Delete; (3)右击,执行clear 或cut 命令三、Si

10、mulink模型创建4、信号线的分支选中信号线, (1)按住Ctrl 键,在信号线分支的地方按住鼠标左键,拖动鼠标到目标模块的输入端; (2)在信号线分支处按住鼠标左键并拖动鼠标至目标模块的输入端三、Simulink模型创建5、信号线的折曲任意方向折曲:选中要折曲的信号线,将光标指向需要折曲的地方,按住Shift 键,再按住鼠标左键,拖动鼠标以任意方向折曲,释放鼠标直角方式折曲:同上面的操作,但不要按Shift 键折点的移动:选中折线,将光标指向待移的折点处,光标变成了一个小圆圈,按住鼠标左键并拖动到目标点三、Simulink模型创建6、信号线间插入模块选中要插入的模块,拖动模块到信号线上需要

11、插入的位置三、Simulink模型创建7、信号线的标志信号线注释:双击需要添加注释的信号线,在弹出的文本编辑框中输入信号线的注释内容信号线上附加说明:(1) 粗线表示向量信号:选中菜单Format|Wide nonscalar lines 即可以把图中传递向量信号的信号线用粗线标出;(2)显示数据类型及信号维数:选择菜单Format|Port data types 及Format|Signaldimensions,即可在信号线上显示前一个输出的数据类型及输入/输出信号的维数;(3) 信号线彩色显示:选择菜单Format|Sample Time Color,SIMULINK 将用不同颜色显示采样

12、频率不同的模块和信号线,默认红色表示最高采样频率,黑色表示连续信号流经的模块及线。三、Simulink模型创建三、Simulink模型创建模型的注释:对于友好的 Simulink 模型界面,对系统的模型注释是不可缺少的。使用模型注释可以使模型更易读懂三、Simulink模型创建创建模型注释:在将用作注释区的中心位置,双击,在出现的编辑框中输入所需的文本注释位置移动:直接用鼠标拖动实现注释的修改:单击注释,文本变为编辑状态即可修改注释信息删除注释:按Shift 键同时选中注释,然后按Delete 键或Backspace 键注释文本属性控制:在注释文本上右击,可以改变文本的属性;也可以通过执行模型

13、窗口“Format”菜单下的命令实现三、Simulink模型创建模块库Commonly Used Blocks(常用模块)Continuous(连续模块)Discountinuities(不连续模块)Discrete(离散模块)Logic and Bit Operations(逻辑运算和位运算)Lookup Tables(查表运算)Math Operations(数学运算)Model Verification(模型检测)三、Simulink模型创建模块库Model-Wide Utilities(模型扩充)Ports&Subsystems(端口和子系统)Signal Attributes(信号属

14、性)Singnal Routing(信号线路)Sinks(信号输出)Sources(信号源)User-Defined Functions(用户自定义函数)Additional Math&Discrete (附加模块)三、Simulink模型创建Continuous(连续模块)模块名模块名说明说明模块名模块名说明说明Integrator积分环节积分环节Tranport Delay时间延迟时间延迟Derivative微分环节微分环节Zero-Pole零零-极点模型极点模型State-Space状态方程状态方程Variable Time Delay变量时间延迟变量时间延迟Transfer Fcn传递

15、函数模型传递函数模型Variable Transport Delay可变时间延迟可变时间延迟三、Simulink模型创建Discrete(离散模块)模块名模块名说明说明模块名模块名说明说明Unit Delay采样保持,延迟一采样保持,延迟一周期周期Integer Delay采样保持,延迟采样保持,延迟一个整数周期一个整数周期Discrete Transfer Fcn离散传递函数离散传递函数Discrete Filter离散滤波器离散滤波器Discrete State-Space离散状态方程离散状态方程Discrete Derivative离散派生方程离散派生方程Discrete-Time In

16、tegrator离散时间积分离散时间积分Zero-Order Hold零阶保持器零阶保持器Discrete Zero-Pole离散零离散零-极点模型极点模型First-Order Hold一阶保持器一阶保持器三、Simulink模型创建Logic and Bit Operations(逻辑运算和位运算)模块名模块名说明说明模块名模块名说明说明AND输入全部为真时输出真输入全部为真时输出真NAND输入有一个为非时输出为真输入有一个为非时输出为真OR输入有一个为真时输出真输入有一个为真时输出真NOR输入全部为非时输出为真输入全部为非时输出为真XOR输入中有奇数个输入为真时输入中有奇数个输入为真时输

17、出为真输出为真NOT输入为非时输出为真输入为非时输出为真=两个输入相等时为真两个输入相等时为真第一个输入小于第二个输入第一个输入小于第二个输入时为真时为真=第一个输入大于或等于第二第一个输入大于或等于第二个输入时为真个输入时为真第一个输入大于第二个输入第一个输入大于第二个输入时为真时为真=第一个输入小于或等于第二第一个输入小于或等于第二个输入时为真个输入时为真=两个输入不相等时为真两个输入不相等时为真三、Simulink模型创建Lookup Tables(查表运算)Sinks(信号输出)模块名模块名说明说明模块名模块名说明说明Lookup Table一维查表一维查表Lookup Table D

18、ynamic动态查表动态查表Lookup Table(2-D)二维查表二维查表Direct Lookup Table(n-D)直接查表直接查表模块名模块名说明说明模块名模块名说明说明Scope示波器示波器XY Graph两个信号的关系图两个信号的关系图Display实时数字显示实时数字显示To File保存到文件保存到文件To Workspace输出到当前工作空间输出到当前工作空间Stop Simulation输入不为输入不为0时停止仿真时停止仿真三、Simulink模型创建Math Operations(数学运算)模块名模块名说明说明模块名模块名说明说明Sum对输入求和对输入求和Gain增益

19、增益Rounding Function取整函数取整函数MinMax求最值求最值Slider Gain用滑动条改变增用滑动条改变增益益Product求积或商求积或商Trigonometric Function三角函数三角函数Algebraic Constraint强制输入信号强制输入信号为为0Dot Product内积内积Sign取输入的正负取输入的正负号号Complex to Magntitude-Angle求复数的幅值和求复数的幅值和相角相角Magntitude-Angle to Complex根据幅值相角根据幅值相角得到复数得到复数Abs求绝对值或模求绝对值或模Complex to Rea

20、l-Imag求复数的实部求复数的实部和虚部和虚部Math Function数学运算函数数学运算函数Real-Image to Complex根据实部和虚根据实部和虚部求复数部求复数三、Simulink模型创建Sources(信号输入)模块名模块名说明说明模块名模块名说明说明Signal Generator信号发生器信号发生器Clock输出当前的仿真时间输出当前的仿真时间Step阶跃信号阶跃信号Digital Clock按指定速率输出当前的按指定速率输出当前的仿真时间仿真时间Ramp线性增加或减少的线性增加或减少的信号信号From File从文件读数据从文件读数据Sine Wave正弦波正弦波F

21、rom Workspace从当前工作空间定义的从当前工作空间定义的矩阵读数据矩阵读数据Repeating Sequence锯齿波锯齿波Random Number按高斯分布的随机信号按高斯分布的随机信号Pulse Generator方波冲激信号方波冲激信号Uniform Random Number平均分布的随机信号平均分布的随机信号Chirp Signal变频正弦信号变频正弦信号Band-Limited-White Noise带限白噪声带限白噪声四、系统仿真系统仿真过程是对模型进行运行、分析、处理和调用的过程构建好一个系统的模型后,在运行仿真前,必须对仿真参数进行配置仿真参数的设置包括:仿真过程

22、中的仿真算法、仿真的起始时刻、误差容限及错误处理方式等的设置,还可以定义仿真结果的输出和存储方式四、系统仿真打开需要设置仿真参数的模型,然后在模型窗口的菜单中选择Simulation|Configuration Parameters,就会弹出仿真参数设置对话框四、系统仿真Slover(算法)的设置Simulation time:仿真时间,设置仿真的时间范围Slover options:算法选项,选择仿真算法,并对其参数及仿真精度设置Type:仿真步长,Variable-step(变步长)、Fixed-step(固定步长)Solver:选择对应的模式下所采用的仿真算法四、系统仿真变步长模式变步长

23、模式说明说明discrete(no continous states)适用于无连续状态变量的系统适用于无连续状态变量的系统Ode45四五阶龙格四五阶龙格-库塔法适用于大多数连续或离散系统,但不适用库塔法适用于大多数连续或离散系统,但不适用于刚性于刚性(stiff)系统系统Ode23二三阶龙格二三阶龙格-库塔法,在误差限要求不高和求解的问题不太难库塔法,在误差限要求不高和求解的问题不太难的情况下,可能会比的情况下,可能会比Ode45 更有效更有效Ode113阶数可变算法,它在误差容许要求严格的情况下通常比阶数可变算法,它在误差容许要求严格的情况下通常比Ode45有效有效Ode15s是一种基于数值

24、微分公式的算法,适用于刚性系统是一种基于数值微分公式的算法,适用于刚性系统Ode23s用于刚性系统,在误差允许下的效果好于用于刚性系统,在误差允许下的效果好于Ode15sOde23t适用于求解适度适用于求解适度stiff 的问题而用户又需要一个无数字振荡的的问题而用户又需要一个无数字振荡的算法的情况算法的情况Ode23tb在较大的容许误差下可能比在较大的容许误差下可能比Ode15s 方法有效方法有效四、系统仿真固定步长模式固定步长模式说明说明discrete(no continous states)固定步长的离散系统的求解算法,特别是用于不存在状固定步长的离散系统的求解算法,特别是用于不存在状

25、态变量的系统态变量的系统Ode5Ode45 的固定步长版本,默认值,适用于大多数连续或离散的固定步长版本,默认值,适用于大多数连续或离散系统,不适用于刚性系统系统,不适用于刚性系统Ode4四阶龙格四阶龙格-库塔法,具有一定的计算精度库塔法,具有一定的计算精度Ode3固定步长的二三阶龙格固定步长的二三阶龙格-库塔法库塔法Ode2改进的欧拉法改进的欧拉法Ode1欧拉法欧拉法Ode14X插值法插值法四、系统仿真参数设置:对两种模式下的参数进行设置变步长模式变步长模式说明说明固定步长模式固定步长模式说明说明Max step size算法能够使用的最大时算法能够使用的最大时间步长间步长Auto根据模型中

26、模块的采样根据模型中模块的采样速率是否一致,自动决速率是否一致,自动决定切换到定切换到multitasking 或或singletaskingMin step size算法能够使用的最小时算法能够使用的最小时间步长间步长Single Tasking单任务模式单任务模式Intial step size初始时间步长初始时间步长Muti Tasking多任务模式多任务模式Relative tolerance相对误差相对误差Absolute tolerance绝对误差绝对误差四、系统仿真启动仿真菜单栏:Simulation|Start工具栏图标:在命令窗口输入调用函数sim(model)进行仿真四、系

27、统仿真例5.1:实现 y(t)=sin2tsin3t,试建立该系统的Simulink 模型,并进行仿真分析,相应的输入及输出曲线在示波器上显示。(1)建立系统模型 Source 库下的Sine Wave 模块:作为输入的正弦信号 Math Operations 库下的Product 模块:实现乘法操作 Sink 库下的Scope 模块:完成输出图形显示功能四、系统仿真(2)参数设置 sin2t 模块:Frequency 为2,其余参数默认,即单位幅值角频率为2 的正弦信号 Sin3t 模块:Frequency 为3,其余参数默认,即单位幅值角频率为3 的正弦信号 Product 模块:采用默认

28、设置(本例中有两个输入) Scope 模块:设置坐标系的数目为3(将Scope Parameters 对话框内General 面板上的Number of axes 设为3)。改变坐标轴的显示参数(在示波器窗口右击,选择Axes properties:Y-min 设置为-1,Y-max 设置为+1,Tile 分别设为sin2t,sin2t*sin3t,sin3t将模型和配置信息以example5_1.mdl保存四、系统仿真(3)仿真的配置在进行仿真之前,需要对仿真参数进行设置。把Solver 选项卡的Start time 设为0,Stop time 设为4.0,其余为默认设置(4)运行仿真四、系

29、统仿真例5.2:系统在 t15s 时,输出为2sin2t。试建立该系统的Simulink 模型,并进行仿真分析(1)建立系统模型 Source 库下的Signal Generator 模块:作为输入的正弦信号2sin2t Source 库下的Pulse Generator 模块:作为输入的单位脉冲信号 Source 库下的Clock 模块:表示系统的运行时间 Source 库下的Constant 模块:用来产生特定的时间 Logical and Bit operations 库下的Relational Operator 模块:实现该系统时间上的逻辑关系 Signal Routing 库下的Sw

30、itch 模块:实现系统输出随仿真时间的切换 Sink 库下的Scope 模块:完成输出图形显示功能四、系统仿真(2)参数设置 Signal Generator 模块:Wave form 为sine,Amplitude 为2,Frequency 为2,产生信号2sin2t Constant 模块:Constant value 为15,设置判断t 是大于还是小于15 的门限值 Relational Operator 模块:Relational Operator 设为“” Switch 模块:Threshold 设为0.1(该值只需要大于0 小于1 即可)将模型和配置信息以example5_2.mdl保存四、系统仿真(3)仿真的配置仿真时间的设置:Start time 为0,Stop time 为30.0(在时间大于15s 时系统输出才有转换,需要设置合适的仿真结束时间)。其余选项保持默认(4)运行仿真四、系统仿真得到的图形曲线不平滑,这是由于在仿真过程中没有设置合适的仿真步长所造成的。应在Solver 选项卡中重新设置Max step size,如设为0.1,再进行仿真

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号