第六讲Simulink仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
示波器模块的设置
3.3 系统仿真实例
可以总结出利用Simulink进行系统仿真的 步骤如下: (1) 建立系统仿真模型,这包括添加模块、设 置模块参数以及进行模块连接等操作。 (2) 设置仿真参数。 (3) 启动仿真并分析仿真结果。
例3 有初始状态为0的二阶微分方程 x"+0.2x'+0.4x=2u (t), 其中u(t)是单位阶跃函 数,试建立系统模型并仿真。 方法1:用积分器直接构造 求解微分方程的模型。 方法2:利用传递函数模块建模。 方法3:利用状态方程模块建模。
例 不同步长刚性方程的仿真
& 方程:x = − kx 其中k=100,x(0)=5
例 不同算法刚性方程的仿真
Fra Baidu bibliotek& 方程:x = − kx Step:0.0015 其中k=1000,x(0)=5
例2 基于微分方程的SIMULINK建模
在图所示的弹簧—质量— 阻尼系统系统中,已知质 量m=1kg,阻尼 b=2N.sec/m,弹簧系数 k=100N/m,且质量块的初 始位移x(0)=0.05m,其初 始速度为0m/sec,要求创 建该系统的SIMULINK模 型,并进行仿真运行。
Simulink简介
SIMULINK是MATLAB最重要的组件之一, 它向用户提供一个动态系统图形建模、仿 真和综合分析的集成环境。在这环境中, 用户无须书写大量的程序,而只需通过简 单直观的鼠标操作,选取适当的库模块, 就可构造出复杂的仿真模型 .
1. Simulink的启动与退出
Simulink的启动 1.在MATLAB的命令窗口输入simulink 2.单击MATLAB主窗口工具栏上的Simulink命令 按钮即可 3.双击*.mdl文件图标 Simulink启动后会显示Simulink模块库浏览器 (Simulink Library Browser)窗口 Simulink的退出 关闭所有模型编辑窗口和Simulink模块库浏览 器窗口即可
仿真参数配置窗
步长
算法
仿真积分算法
积分算法 Discrete Ode4 Ode1 Ode113 Ode15s Ode23s 算法说明(收敛性、稳定性) 离散系统,差分方程 4阶Runge-Kutta法数值积分,应用最广 Eula法,速度快,误差大 Adams-Bashforth-Moulton的变阶解法, 比Ode45有效,精度高 Gear法,用于解刚性方程数值积分问题 修正的Rosenbrock二阶法, 解决部分Ode15s无法解决的刚性方程问题
2:利用传递函数模块建模
参数
3:利用状态方程模块建模
微分方程 状态方程
&& + 0.2 x + 0.4 = 2u (t ) & x
& x1 = x 2 & x 2 = −0.4 x1 − 0.2 x 2 + 2u
状态方程的矩阵形式
& X = AX + BU Y = CX + DU
& 1 ⎤ ⎡ x1 ⎤ ⎡0 ⎤ ⎡ x1 ⎤ ⎡ 0 ⎢ x ⎥ = ⎢ − 0 .4 − 0 .2 ⎥ ⎢ x ⎥ + ⎢ 2 ⎥ u ⎦⎣ 2 ⎦ ⎣ ⎦ ⎣ &2 ⎦ ⎣ ⎡ x1 ⎤ y = [1 0]⎢ ⎥ + [0]u ⎣ x2 ⎦
2.模块的属性设置
(1)选定要设置属性的模块,然后在模块上按鼠标 右键并在弹出的快捷菜单中选择Block properties (2)先选择要设置的模块,再在模型编辑窗口的 Edit菜单下选择Block properties命令,将打开模 块属性对话框。该对话框包括General、Block annotation(注释)和Callbacks 3个可以相互切 换的选项卡。其中General选项卡中可以设置3个 基本属性:Description(说明)、Priority(优先 级) 、Tag(标记)。
2.4 模块的参数和属性设置
1.模块的参数设置 Simulink中几乎所有模块的参数都允许用户进行 设置 (1)双击要设置的模块或在模块上按鼠标右键并在 弹出的快捷菜单中选择相应模块的参数设置命令 就会弹出模块参数对话框。该对话框分为两部 分,上面一部分是模块功能说明,下面一部分用 来进行模块参数设置。 (2)选择要设置的模块,再在模型编辑窗口Edit菜 单下选择相应模块的参数设置命令也可以打开模 块参数对话框。
1:用积分器直接构造求解微分方程的模型
2:利用传递函数模块建模
微分方程 拉式变换 传递函数
2
&& + 0.2 x + 0.4 = 2u (t ) & x
s x ( s ) + 0.2 sx ( s ) + 0.4 x ( s ) = 2u ( s )
x( s ) 2 = 2 u ( s ) s + 0.2 s + 0.4
建立新模型
1.在MATLAB主窗口File菜单中选择New菜单项下的 Model命令,在出现Simulink模块库浏览器的同 时,还会出现一个名字为untitled的模型编辑窗 口。 2.在Simulink窗口File菜单中选择New菜单项下的 Model命令 3.在启动Simulink模块库浏览器后再单击其工具栏 中的Create a new model命令按钮,也会弹出模 型编辑窗口。利用模型编辑窗口,可以通过鼠标 的拖放操作创建一个模型。
& x 例1 给定微分方程, = −2 x + u 试建立系统仿真模
操作过程如下: (1) 在MATLAB主菜单中,选择File菜单中New菜单 项的Model命令,打开一个模型编辑窗口。 (2) 将所需模块添加到模型中。 (3) 设置模块参数并连接各个模块组成仿真模型。 设置模块参数后,用连线将各个模块连接起来组 成系统仿真模型。模型建好后,从模型编辑窗口 的File菜单中选择Save或Save as命令将它存盘。
Simulink的子模块库
连续系统模块库(Continuous) 离散系统模块库(Discrete) 数学运算模块库(Math) 非线性模块库(Nonlinear) 信号与系统模块库(Signals & System) 接收模块库(Sinks) 输入源模块库(Source) 端口和子系统模块库(Port & Subsystem) 通用模块库(Commonly Used)
3.2 启动系统仿真与仿真结果分析
设置完仿真参数之后,从Simulation中选择 Start菜单项或单击模型编辑窗口中的Start Simulation命令按钮,便可启动对当前模型的仿 真。此时,Start菜单项变成不可选, 而Stop菜单项 变成可选, 以供中途停止仿真使用。从Simulation菜 单中选择Stop项停止仿真后,Start项又变成可选。 为了观察仿真结果的变化轨迹可以采用3种方法: (1) 把输出结果送给Scope模块或者XY Graph模块。 (2) 把仿真结果送到输出端口并作为返回变量,然后 使用MATLAB命令画出该变量的变化曲线。 (3) 把输出结果送到To Workspace模块,从而将结果 直接存入工作空间,然后用MATLAB命令画出该 变量的变化曲线。
Simulink模型的修改与保存
如果要对一个已经存在的模型文件进行编辑修 改,需要打开该模型文件,其方法是, 1.在MATLAB命令窗口直接输入模型文件名(不要加 扩展名.mdl)。 2.在模块库浏览器窗口或模型编辑窗口的File菜单中 选择Open命令,然后选择或输入欲编辑模型的名 字,也能打开已经存在的模型文件。 3.单击模块库浏览器窗口工具栏上的Open a model 命令按钮 4.模型编辑窗口工具栏上的Open model命令按钮。 模型创建完成后,从模型编辑窗口的File菜单 项中选择Save或Save As命令,可以将模型以模型 文件的格式(扩展名为.mdl)存入磁盘。
3:利用状态方程模块建模
矩阵 参数
4 使用命令操作对系统进行仿真
从命令窗口运行仿真的函数有4个,即sim、simset、simget 和set_param。 1.sim函数 sim函数的作用是运行一个由Simulink建立的模型,其调用 格式为: [t, x, y ] =sim(modname,timespan,options,data);
接收模块库(Sinks)
端口和子系统模块库(Port & Subsystem)
2.2 模块的编辑
1.添加模块---在模型库中选定模块,按住鼠标左 键拖出 2.选取模块---在模块上点击鼠标左键,模块四周 出现4个小黑点 3.复制模块----选中模块,按住鼠标左键和Ctrl 拖出即可 4.模块外形的调整 ---选中模块,鼠标移动到4角 的小黑点, 光标变化后按住左键拖动即可 5.模块名的处理---单击模块名后即可修改
Simulink操作基础
点击进入Simulink
点击打开新建模型
拖拽模块加入模型
添加连线
2 系统仿真模型
2.1 Simulink的模块 Simulink的模块库提供了大量模块。单击模 块库浏览器中Simulink前面的“+”号,将看到 Simulink模块库中包含的子模块库,单击所需要 的子模块库,在右边的窗口中将看到相应的基本 模块,选择所需基本模块,可用鼠标将其拖到模 型编辑窗口。同样,在模块库浏览器左侧的 Simulink栏上单击鼠标右键,在弹出的快捷菜单 中单击Open the ‘Simulink’ Libray 命令,将打开 Simulink基本模块库窗口。单击其中的子模块库 图标,打开子模块库,找到仿真所需要的基本模 块。
(1)建立理论数学模型
对于无外力作用的“弹簧—质量—阻尼”系 统,据牛顿定律可写出
mx ′′ + bx ′ + kx = 0
代入具体数值并整理,可得
x ′′ = −2 x ′ − 100 x
(2)添加模块
(3)添加信号连线
(4)设置模块参数
设置模块参数
初值
示波器模块的设置
单击右键, 设置幅值, 添加图标
Matlab基础与应用(六)
MATLAB Basic and Application
-----SIMULINK动态仿真
自动控制与测试教学实验中心
第6讲内容 1 Simulink操作基础 2 系统仿真模型 3 系统的仿真 4 使用命令操作对系统进行仿真 5 子系统及其封装技术 6 S函数的设计与应用
连续系统 基本模块
微分环节 积分环节 状态方程 传递函数 时间延迟 可变时间延迟 可变传输延迟 零-极点模型
连续系统模块库(Continuous)
离散系统模块库(Discrete)
信号与系统模块库(Signals & System)
非线性模块库(Nonlinear)
数学运算 模块库(Math)
& x = −2 x + u
输入极性、数量
初值
继承
增益
输入参数
时间 幅值
3 系统的仿真
3.1 设置仿真参数 打开系统仿真模型,从模型编辑窗口的Simulation菜单中选 择Simulation parameters命令,打开一个仿真参数配置窗,点 击左面的选择栏,选择不同的仿真参数对话栏,在其中可以设 置仿真参数: (1) Solver选项栏:用于设置仿真起始和停止时间,选择微分方程 求解算法并为其规定参数,以及选择某些输出选项。 (2) Data Import/Export选项栏:用于管理对MATLAB工作空间的 输入和输出。 (3) Diagnostics选项栏:用于设置在仿真过程中出现各类错误时发 出警告的等级。 (4)Optimization选项栏:用于设置一些高级仿真属性,更好地控 仿真过程。 (5) Real-time Workshop选项卡:用于设置若干实时工具中的参 数。如果没有安装实时工具箱,则将不出现该选项卡。
2.3 模块的连接
连线---移动鼠标到模块的输出端,鼠标便变成十 字,按住鼠标左键移动到模块的输入端,十字光 标出现重影时释放左键。 连线的折弯-----按住Shift键,在折弯点单击鼠 标,产生折弯点。 给连线加分支-----鼠标移动到分支起点,按住鼠 标右键拉出或按住Ctrl键和鼠标左键,拖到模块 输入端释放。 改变线型-----选中线段,选择Format菜单下的 应命令 标注连线----在线上双击,即可标注连线