Simulink仿真环境
发布时间:2021-06-06
发布时间:2021-06-06
MATLAB
Simulink使用入门 模型的创建 连续系统的建模与仿真 子系统的创建与封装及条件执行子系统 用MATLAB命令创建和运行Simulink模型
MATLAB
8.1 Simulink Simulink下特点:用绘制方框图代替编写程序,结构和流程
清晰;
智能化地建立和运行仿真,仿真精细、贴
近实际,自动建立各环节的方程,自动地在
给定精度要求下以最快速度进行系统仿真; 适应面广,包括线性、非线性系统,连续、
离散及混合系统,单任务、多任务离散事件
系统。
8.1.1 Simulink入门
【例8-1】创建一个正弦信号的仿真模型。
(1) 在MATLAB的命令窗口运行simulink命令,
或单击工具栏中的图标,就可以打开Simulink
模块库浏览器(Simulink Library Browser) 窗口。
(2) 单击工具栏上的图标或选择菜
单“File”——“New”——“Model”,新建一个
名为“untitled”的空白模型窗口。
MATLAB
(4) 用鼠标单击所需要的输入信号源模
块“Sine Wave”(正弦信号),将其拖放到空
白的模型窗口“untitled”,则“Sine Wave”
模块就被添加到untitled窗口;也可以用鼠
标选中“Sine Wave”模块,单击鼠标右键,
在快捷菜单中选择“add to untitled ”命令,
就可以将“Sine Wave”模块添加到untitled窗口。(5) 用同样的方法打开接收模块库
“Sinks”,选择其中的“Scope”模块(示波
器)拖放到“untitled”窗口中。
(6) 在“untitled”窗口中,用鼠标指向
“Sine Wave”右侧的输出端,当光标变为十
字符时,按住鼠标拖向“Scope”模块的输入
端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。
(7) 开始仿真,单击“untitled”模
型窗口中“开始仿真”图标,或者
选择菜单“Simulink”——“Start”,则
仿真开始。双击“Scope”模块出现示
波器显示屏,可以看到黄色的正弦波形。(8) 保存模型,单击工具栏的图
标,将该模型保存为“exm08_01.mdl”文
MATLAB
8.1.2 Simulink的模型窗口模型窗口由菜单、工具条、模型浏览器窗口、模型框图窗口以及状态栏组成。仿
真
开
始
仿真结束打开模块库切换单双窗回到父系统打开调试器
状态栏
用于显示仿真的状态。当鼠标指向菜单和工具条时,在状态栏显示其定义;
MATLAB
菜单名
菜单项New——Model Model properties Preferences Print… Close Exit MATLAB新建模型 模型属性
功能
5
File
SIMULINK界面的默认设置选项 打印模型 关闭当前Simulink窗口 退出MATLAB系统
Create subsystemEdit Mask subsystem… Look under mask
创建子系统封装子系统 查看封装子系统的内部结构 更新模型框图的外观 显示当前系统的父系统 模型浏览器设置 鼠标位于模块上方时显示模块内部数据 显示库浏览器 自动选择最合适的显示比例 以正常比例(100%)显示模型
Update diagramGo to parent Model browser options Block data tips options Library browser Fit system to view Normal
View
MATLAB
Start/Stop Pause/Continue
启动/停止仿真 暂停/继续仿真 设置仿真参数 普通Simulink模型 产生加速Simulink模型 标注文字对齐工具 翻转模块名 显示/隐藏模块名 翻转模块 旋转模块 显示库链接 显示/隐藏阴影效果 设置不同的采样时间序列的颜色 粗线表示多信号构成的向量信号线 注明向量信号线的信号数 标明端口数据的类型 显示存储类型 数据浏览器 Simulink调试器 用户定义数据类型设计器 线性化分析工具
6
Simulation
Simulation Parameters… Normal Accelerator Text alignment Filp name Show/Hide name Filp block Rotate Block Library link display Show/Hide drop shadow Sample time colors Wide nonscalar lines Signal dimensions Port data types Storage class Data explorer… Simulink debugger… Data class designer Linear Analysis
Format
Tools
MATLAB
8.2 模型的创建8.2.1 模型概念和文件操作
Simulink模型的含义:方框图;扩展名为.mdl的ASCII代码;方程;实际系统的动态性状1. Simulink模型的一般结构
2. Simulink的文件操作
新建仿真模型文件有几种操作:
在MATLAB的命令窗口选择菜单“File” “New” “Model”。
在Simulink模块库浏览器窗口选择菜单“File” “New” “Model”,或者单击工具栏的图标。
在Simulink模型窗口选择菜单“File” “New” “Model”,或者单击工具栏的图标。打开仿真模型文件有几种操作:
在MATLAB的命令窗口输入不加扩展名的文件名,该文件必须在当前搜索路径中。 在MATLAB的命令窗口选择菜单“File” Open…”或者单击工具栏的图标打开文件。 在Simulink模块库浏览器窗口选择菜单“File” “Open…”或者单击工具栏的图标打开“.mdl”文件。
MATLAB
Simulink模型是以ASCII码形式存储的.mdl文件,其保存方法是标准的Windows操作,即利用图标、菜单“File” “Save”或“File” “Save As”都可以实现存盘。
Simulink模型的打印:
点击模型窗图标或选中菜单“File” “Print”,打开一个打印对话框。可选择打印当前系统(Current system)、当前系统及其上层系统(Current system and above)、当前系统及其下层系统(Current system and blow)、整个系统(All system)。
因为一个Simulink模型(*.mdl)可能包含多个子系统,所以打印模型时,要选择所要打印的系统。8.2.21. 模块的选定
选定单个模块:只要在待选模块上单击鼠标左键即可。
选定多个模块:按下Shift键,然后再单击所需选定的模块;或者用鼠标拉出矩形虚线框,将所有待选模块框在其中,则矩形框中所有的对象均被选中。
选定所有模块:可以选择菜单“Edit” “Select all”。
2. 模块的复制
(1) 不同模型窗口(包括模型库窗口)之间的模块复制
选定模块,用鼠标将其拖到另一模型窗口。
MATLAB
(2) 在同一模型窗口内的复制模块
选定模块,按下鼠标右键,拖动模块到合适的地方,释放鼠标。选定模块,按住Ctrl键,再拖动鼠标到合适的地方,释放鼠标。使用菜单和工具栏中的“Copy”和“Paste”按钮。
在同一模型窗口移动模块:选定需要移动模块,用鼠标将模块拖到合适的地方。在不同模型窗之间移动模块:在用鼠标移动的同时按下Shift键。
当模块移动时,与之相连的连线也随之移动。3. 模块的移动
4. 模块的删除
选定待删除模块,按Delete键;或者用菜单“Edit” “Clear”或“Cut”;或者用工具栏的“Cut”按钮。
5. 改变模块大小
选定需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可以实现放大或缩小。
6. 模块的旋转
模块旋转180度:选定模块,选择菜单“Format” “Flip Block”可以将模块旋转180度。模块旋转90度:选定模块,选择菜单“Format” “RotateBlock”可以将模块旋转90度。如果一次翻转不能达到要求,可以多次翻转来实现。
MATLAB
7. 模块名的编辑
修改模块名:单击模块下面或旁边的模块名,出现编辑框就可对模块名进行修改。 模块名字体设置:选定模块,选择菜单“Format” “Font”,打开字体对话框设置字体。 模块名的显示和隐藏:选定模块,选择菜单“Format” “Hide /Show name”,可以隐藏或显示模块名。
模块名的翻转:选定模块,选择菜单“Format” “Flip name”,可以对称翻转模块名。
8. 模块阴影效果
选定模块,选择菜单“Format” “Show Drop Shadow”,可以给模块周围加上阴影,以突出该模块。
9. 模块参数的设置
双击模块可以打开该模块参数设置对话框,查看或修改模块的参数。
MATLAB
8.2.3 信号线的操作
1. 模块间连线
先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另一模块的输入端。
选中源模块,然后按住Ctrl键,再用鼠标左键单击目的模块即可。
2. 信号线的分支和折曲
(1) 分支的产生
将光标指向信号线的分支点上,按鼠标右键,光标变为十字符,
拖动鼠标直到分支线的终点,释放鼠标;
或者按住Ctrl键,同时按下鼠标左键拖动鼠标到分支线的终点;
或按住鼠标左键,从目的模块的输入端拖动鼠标到信号线的分支点。
(2) 信号线的折曲
选中已存在的信号线,将光标指向待折处,按住Shift键,同
时按下鼠标左键,当光标变成小圆圈时,用鼠标拖动小圆圈将折点拉至合适处,释放鼠标。
3. 信号线的移动和删除
选中信号线,并将光标指向它,按下鼠标左键,拖动至希望处后,释放鼠标即完成信号线的移动。
MATLAB
4. 在信号线中插入模块
如果模块只有一个输入端口和一个输出端口,则该模块可以直接被插入到一条信号线中。
5. 信号线标识(label)
添加标识:双击信号线,则出现一个空的文字填写框,在其中输入标识。修改标识:单击需要修改的标识,出现一个编辑框即可修改标识。
移动标识:单击标识,出现编辑框后,用鼠标按住拖动就可以移动编辑框。复制标识:单击需要复制的标识,按下Ctrl键同时移动标识,或者用菜单和工具栏的复制操作。
删除标识:单击标识,待出现编辑框后,将光标移出编辑框外,再按Delete键即可。
8.2.4 给模型添加文本注释
1. 添加模型的文本注释
在将用作注释区的中心位置,双击鼠标左键,就会出现编辑框,在编辑框中就可以输入文字注释。
2.注释的移动
在注释文字处单击鼠标左键,当出现文本编辑框后,用鼠标就可以拖
MATLAB
8.2.5 Simulink的基本模块1.
信号源模块库
(Sources)
MATLAB
2. 接收模块库(Sinks)名称 Scope Display XY Graph To File To Workspace Stop Simulation Out1 名称 Integrator 模块形状实时数值显示
14
功能说明示波器,显示实时信号
显示X-Y两个信号的关系图把数据保存为文件 把数据写成矩阵输出到工作空间 输入不为零时终止仿真,常与关系模块配合使用 输出模块,代表输出端口
3. 连续系统模块库(Continuous)模块形状积分环节
功能说明微分环节状态方程模型 传递函数模型 零—极点增益模型 把输入信号按给定的时间做延时
DerivativeState-Space Transfer Fcn Zero-Pole Transport Delay
MATLAB
4. 离散系统模块库
(Discrete)
8.2.6 模型创建实例
【例8-2】已知线性时不变因果系统的传递函数如下,创建该系统的仿真模型
分析:这是一个三阶系统,引入辅助变量q
设Y=q,
X=s^3*q+(1+a)*s^2*q+a*(1+a)*s*q+a^2*q
MATLAB
该系统包含3个积分器,3个乘法器(增益),1个四输入加法器,通过选模块、设置模块参数、连线得到仿真模型如下:
8.2.7 仿真的配置
Simulink的模型实际上是定义了仿真系
统的微分或差分方程组,而仿真则是用数
值解算法来求解方程。仿真开始前,可对
数值解法的一些参数进行设置。
在模型窗口选择菜单
“Simulation” “Simulation parameters…”,
则会打开参数设置对话框,设置自定义的参数。
MATLAB
1. 解算器(Solver)的参数设置
(1) 仿真的起始和结束时间
仿真的起始时间(Start time),缺省值为0。
仿真的结束时间(Stop time),缺省值为10。
(2) 仿真步长
(3) 仿真解法
Type的左边:设定解算器类型。Type的右边:设置仿真解法的具体算法类型。
(4) 输出模式
根据需要选择输出模式(Output options),可以达到不同的输出效果,一般取缺省设置。仿真的过程一般是求解微分方程组,“Solve options”的内容是针对解微分方程组的设置。
2.仿真数据的输入输出(Workspace I/O)设置
(1) 从工作空间装载数据(Load from workspace)
(2) 保存数据到工作空间(Save to workspace)
Time栏
勾选Time栏后,模型将把(时间)变量以在右边
空白栏填写的变量名(默认名为tout)存放于工
作空间。
States栏
勾选States栏后,模型将把其状态变量在右边
空白栏填写的变量名(默认名为xout)存放于工
MATLAB
Output栏
如果模型窗口中使用输出模块“Out”,那么就必须勾选Output栏,并填写在工作空间中的输出数据变量名(默认名为yout)。
Final state栏
Final state栏的勾选,将向工作空间以在右边空白栏填写的名称(默认名为xFinal),存放最终状态值。
(3) 变量存放选项(Save options)
Save options必须与Save to workspace配合使用。
当采用输入模块In1、输出模块Out1等作为输入输出时,必须指定输入变量Input,输出变量Output等。多个输入输出模块(In1,In2,…,Out1,Out2,…)时,系统自动将输入输出变量的不同列分配给不同的输入输出端口。
3. 仿真中异常情况的判断(Diagnostics)
Simulink可以自动判断22种异常情况,每种异常情况可以采取三种措施:忽略
(none)、警告(warning)、出错(error)。一般采用默认的异常判断处理即可。特殊情况下,为了在存在异常的情况下得到仿真结果,可以修改异常的处理方式。
4. 高阶设置(Advanced)
通过设置参数对仿真过程进行优化处理。
MATLAB
8.3 连续系统的建模与仿真
【例8-3方法一:输入信号源使用阶跃信号,系统使用开环传递函数,接受模块使用示波器来构成模型。
(1) 在“Sources”模块库选择“Step”模块,在“Continuous”模块库选择“Transfer Fcn”模块,在“Math Operations”模块库选择“Sum”模块,在“Sinks”模块库选择“Scope”。
(2) 连接各模块,从信号线引出分支点,构成闭环系统。
(3) 设置模块参数,打开“Sum”模块参数设置对话框,将“Icon shape”设置为“rectangular”,将“List of signs”设置为“|+-”,其中“|”表示上面的入口为空。
“Transfer Fcn”模块的参数设置对话框中,将分母多项式“Denominator”设置为“[1 0.6 0]”。
将“Step”模块的参数设置对话框中,将“Step time”修改为0。开环传递
(5) 仿真并分析
单击工具栏的“Start simulation”按钮,开始仿
MATLAB
方法二:
(1) 系统使用积分模块(Integrator)和零极点模块(zero-pole)串联,反馈使用“Math Operations”模块库中的“Gain”模块构成反馈环的增益为-1。
(2) 连接模块,由于“Gain”模块在反馈环中,因此需要使用“Flip Block”翻转该模块。
(3) 设置模块参数,将“zero-pole”模块参数对话框中的“Zeros”栏改为“[]”,将“Poles”栏改为[-0.6]。
将“Step”模块的参数设置对话框中,将“Step time”修改为0.5。
将“Gain”模块的“Gain”参数改为-1,打开示波器的参数对话框将坐标轴的个数改为2,
示波器的第一个输入端接阶跃信号模块的输出,模型如图所示。
(5) 仿真并分析
在Simulink模型窗口,选择菜单“Simulation”——
“Simulation parameters…”命令,在“Solver”页将“Stop
time”设置为15,然后单击“Start simulation”按钮,示波
器显示的就到15秒结束。
打开示波器的Y坐标设置对话框,将Y坐标的“Y-min”
改为0,“Y-max”改为2。通过修改模型窗中的u(t)和y(t)
MATLAB
如果将示波器换成“Sinks”模块库中的“Out”模块,模型如下
在仿真参数设置对话框的“Workspace I/O”页(工作空间输入输出),将“Time”
和“Output”栏勾选,并分别设置保存在工作空间的时间量和输出变量为“tout”和“yout”
。
仿真后在工作空间就可以使用这两个变量来绘制曲线>> plot(tout,yout)
上一篇:岗位大练兵习题——纳税评估练习
下一篇:第七章_脂类代谢复习思考题