《2022年matlab-simulink初级教程.pdf》由会员分享,可在线阅读,更多相关《2022年matlab-simulink初级教程.pdf(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、matlab-simulink 初级教程Simulink 仿真环境基础学习Simulink 就是面向框图的仿真软件。7、1 演示一个 Simulink 的简单程序【例 7、1】创建一个正弦信号的仿真模型。步骤如下 : (1) 在 MATLAB的命令窗口运行simulink 命令 ,或单击工具栏中的图标 ,就可以打开Simulink 模块库浏览器(Simulink Library Browser) 窗口 ,如图 7、1 所示。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 37 页 - - -
2、- - - - - - - matlab-simulink 初级教程(2) 单击工具栏上的图标或选择菜单“File ”“ New ”“ Model ”,新建一个名为“untitled ”的空白模型窗口。(3) 在上图的右侧子模块窗口中,单击“ Source”子模块库前的“+”(或双击 Source),或者直接在左侧模块与工具箱栏单击Simulink 下的 Source 子模块库 ,便可瞧到各种输入源模块。(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号 ),将其拖放到的空白模型窗口“untitled ”,则“ Sine Wave”模块就被添加到untitled 窗口 ;
3、也可以用鼠标选中“ Sine Wave ”模块 ,单击鼠标右键,在快捷菜单中选择“add to untitled ”命令 ,就可以将“ Sine Wave ”模块添加到untitled 窗口 ,如图 7、 2 所示。图 7、1 Simulink界面精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块 (示波器 )拖放到“ untit
4、led ”窗口中。(6) 在“ untitled ”窗口中 ,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接 ,一个简单模型已经建成。如图7、3 所示。(7) 开始仿真 ,单击“ untitled ”模型窗口中“开始仿真”图标,或者选择菜单“Simulink ”“ Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以瞧到黄色的正弦波形。如图7、4 所示。图 7、2 Simulink界面精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师
5、归纳 - - - - - - - - - -第 3 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程(8) 保存模型 ,单击工具栏的图标 ,将该模型保存为“Ex0701、mdl”文件。7、2 Simulink 的文件操作与模型窗口7、2、1 Simulink 的文件操作1、 新建文件新建仿真模型文件有几种操作: ?在 MATLAB的命令窗口选择菜单“File”“ New”“Model ”。?在图 7、 1 的 Simulink 模块库浏览器窗口选择菜单“File”“New ”“Model ”,或者单击工具栏的图标。?在图 7、 3 的 Simu
6、link 模型窗口选择菜单“File”“New”“Model ”,或者单击工具栏的图标。2、 打开文件打开仿真模型文件有几种操作: ?在 MATLAB的命令窗口输入不加扩展名的文件名,该文件必须在当前搜索路径中,例如输入“ Ex0701 ”。?在 MATLAB的命令窗口选择菜单“File”Open”或者单击工具栏的图标打开文件。?在图 7、 1 的 Simulink 模块库浏览器窗口选择菜单“File”“Open”或者单击工具栏的图标打开“、mdl ”文件。图 7、3 Simulink模型窗口图 7、4 示波器窗口精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎
7、下载 名师归纳 - - - - - - - - - -第 4 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程?在图 7、 3 的 Simulink 模型窗口中选择菜单“File”“Open”或者单击工具栏的图标打开文件。7、2、2 Simulink 的模型窗口模型窗口由菜单、工具栏、模型浏览器窗口、模型框图窗口以及状态栏组成。1、 状态栏2、 工具栏模型窗口工具栏如图7、6 所示。3、 菜单Simulink 的模型窗口的常用菜单如表7、1 所示。状态栏菜单模型框图模型浏览器图 7、5 双窗口模型窗口工具栏开始仿真打开库浏览器结束仿真打开调试器
8、展示父系统单双窗口切换图 7、6 工具栏仿真模型更新模块框图创建并编译生成exe文件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程表 7、1 模型窗口常用菜单表菜单名菜单项功能File New Model 新建模型Model properties 模型属性Preferences SIMULINK界面的默认设置选项Print打印模型Close 关闭当前 Simulink 窗口Exit MATLAB 退出
9、MATLAB系统Edit Create subsystem 创建子系统Mask subsystem封装子系统Look under mask 查瞧封装子系统的内部结构Update diagram 更新模型框图的外观View Go to parent 显示当前系统的父系统Model browser options 模型浏览器设置Block data tips options 鼠标位于模块上方时显示模块内部数据Library browser 显示库浏览器Fit system to view 自动选择最合适的显示比例Normal 以正常比例 (100%)显示模型Simulation StartStop
10、 启动停止仿真Pause Continue 暂停继续仿真Simulation Parameters设置仿真参数Normal 普通 Simulink 模型Accelerator 产生加速 Simulink 模型Format Text alignment 标注文字对齐工具Filp name 翻转模块名ShowHide name 显示隐藏模块名Filp block 翻转模块Rotate Block 旋转模块Library link display 显示库链接ShowHide drop shadow 显示隐藏阴影效果Sample time colors 设置不同的采样时间序列的颜色精品资料 - - -
11、 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程Wide nonscalar lines 粗线表示多信号构成的向量信号线Signal dimensions 注明向量信号线的信号数Port data types 标明端口数据的类型Storage class 显示存储类型Tools Data explorer数据浏览器Simulink debuggerSimulink 调试器Data class designer 用户定义数据类
12、型设计器Linear Analysis 线性化分析工具7、3 模型的创建7、3、1 模块的操作1、 对象的选定?选定单个对象选定对象只要在对象上单击鼠标,被选定的对象的四角处会出现小黑块编辑框。?选定多个对象如果选定多个对象,可以按下Shift 键,然后再单击所需选定的模块;或者用鼠标拉出矩形虚线框,将所有待选模块框在其中,则矩形框中所有的对象均被选中,如图 7、7所示。?选定所有对象如果要选定所有对象,可以选择菜单“Edit ”“Select all”。2、 模块的复制(1) 不同模型窗口 (包括模型库窗口)之间的模块复制?选定模块 ,用鼠标将其拖到另一模型窗口。图 7、7 选定多个对象精品
13、资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程?选定模块 ,使用菜单的“Copy”与“ Paste”命令。?选定模块 ,使用工具栏的“Copy”与“ Paste”按钮。(2) 在同一模型窗口内的复制模块(如图 7、8 所示 ) ?选定模块 ,按下鼠标右键,拖动模块到合适的地方,释放鼠标。?选定模块 ,按住 Ctrl 键,再用鼠标拖动对象到合适的地方,释放鼠标。?使用菜单与工具栏中的“Copy”与“ Past
14、e”按钮。3、 模块的移动?在同一模型窗口移动模块选定需要移动模块,用鼠标将模块拖到合适的地方。?在不同模型窗之间移动模块在不同模型窗之间移动模块,在用鼠标移动的同时按下Shift 键。当模块移动时 ,与之相连的连线也随之移动。4、 模块的删除要删除模块 ,应选定待删除模块,按 Delete 键;或者用菜单“Edit ”“Clear”或“ Cut” ;或者用工具栏的“Cut”按钮。5、 改变模块大小选定需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可以实现放大或缩小。6、 模块的翻转?模块翻转180 度选定模块 ,选择菜单“ Format”“Flip Block ”可以将模块旋转1
15、80 度,如同 7、 9 中间为翻转180 度示波器模块。?模块翻转90 度选定模块 ,选择菜单“ Format”“RotateBlock ”可以将模块旋转90 度 ,如图 7、9 右边示波器所示。如果一次翻转不能达到要求,可以多次翻转来实现。7、 模块名的编辑图 7、8 在同一模型窗口复制对象图 7、9 翻转模块精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程?修改模块名单击模块下面或旁边的模块名,出现
16、虚线编辑框就可对模块名进行修改。?模块名字体设置选定模块 ,选择菜单“ Format”“Font ”,打开字体对话框设置字体。?模块名的显示与隐藏选定模块 ,选择菜单“ Format”“Hide /Show name”,可以隐藏或显示模块名。?模块名的翻转选定模块 ,选择菜单“ Format”“Flip name ”,可以翻转模块名。7、3、2 信号线的操作1、 模块间连线先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另一模块的输入端。2、 信号线的分支与折曲(1) 分支的产生将光标指向信号线的分支点上,按鼠标右键 ,光标变为十字符,拖动鼠标直到分支线的终点,释放鼠标
17、 ;或者按住Ctrl 键,同时按下鼠标左键拖动鼠标到分支线的终点,如图7、10 所示。(2) 信号线的折线选中已存在的信号线,将光标指向折点处,按住 Shift 键,同时按下鼠标左键,当光标变成小圆圈时,用鼠标拖动小圆圈将折点拉至合适处,释放鼠标 ,如图 7、11 所示。图 7、10 信号线的分支图 7、11 信号线的折线精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程3、 信号线文本注释(label)
18、?添加文本注释双击需要添加文本注释的信号线,则出现一个空的文字填写框,在其中输入文本。?修改文本注释单击需要修改的文本注释,出现虚线编辑框即可修改文本。?移动文本注释单击标识 ,出现编辑框后,就可以移动编辑框。?复制文本注释单击需要复制的文本注释,按下 Ctrl 键同时移动文本注释,或者用菜单与工具栏的复制操作。4、 在信号线中插入模块如果模块只有一个输入端口与一个输出端口,则该模块可以直接被插入到一条信号线中。7、3、3 给模型添加文本注释(1) 添加模型的文本注释在需要当作注释区的中心位置,双击鼠标左键,就会出现编辑框,在编辑框中就可以输入文字注释。(2) 注释的移动在注释文字处单击鼠标左
19、键,当出现文本编辑框后,用鼠标就可以拖动该文本编辑框。7、4 Simulink 的基本模块7、4、1 基本模块Simulink 的基本模块包括9 个子模块库。1.输入信号源模块库(Sources) 输入信号源模块就是用来向模型提供输入信号。常用的输入信号源模块源如表7、2 所示。表 7、2 常用的输入信号源模块表名称模块形状功能说明Constant 恒值常数 ,可设置数值精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 37 页 - - - - - - - - - - matlab-simul
20、ink 初级教程Step 阶跃信号Ramp 线性增加或减小的信号Sine Wave 正弦波输出Signal Generator 信号发生器 ,可以产生正弦、方波、锯齿波与随机波信号From File 从文件获取数据From Workspace 从当前工作空间定义的矩阵读数据Clock 仿真时钟 ,输出每个仿真步点的时间In 输入模块2、 接收模块库 (Sinks) 接收模块就是用来接收模块信号的,常用的接收模块如表7、3 所示。表 7、3 常用的接收模块表名称模块形状功能说明Scope 示波器 ,显示实时信号Display 实时数值显示XY Graph 显示 X-Y 两个信号的关系图To Fi
21、le 把数据保存为文件To Workspace 把数据写成矩阵输出到工作空间Stop Simulation 输入不为零时终止仿真,常与关系模块配合使用Out 输出模块3、 连续系统模块库(Continuous) 连续系统模块就是构成连续系统的环节,常用的连续系统模块如表7、4 所示。表 7、4 常用的连续系统模块表名称模块形状功能说明Integrator 积分环节Derivative 微分环节State-Space 状态方程模型Transfer Fcn 传递函数模型精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - -
22、 -第 11 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程Zero-Pole 零极点增益模型Transport Delay 把输入信号按给定的时间做延时4、 离散系统模块库(Discrete) 离散系统模块就是用来构成离散系统的环节,常用的离散系统模块如表7、5 所示。表 7、5 常用的离散系统模块表名称模块形状功能说明Discrete Transfer Fcn 离散传递函数模型Discrete Zero-Pole 离散零极点增益模型Discrete State-Space 离散状态方程模型Discrete Filter 离散滤波器Zero
23、-Order Hold 零阶保持器First-Order Hold 一阶保持器Unit Delay 采样保持 ,延迟一个周期7、4、2 常用模块的参数与属性设置1、 模块参数设置(1) 正弦信号源 (Sine Wave) 双击正弦信号源模块,会出现如图7、13 所示的参数设置对话框。图 7、13 的上部分为参数说明,仔细阅读可以帮助用户设置参数。Sine type 为正弦类型 ,包括 Time-based 与 Sample-based;Amplitude 为正弦幅值 ;Bias 为幅值偏移值;Frequency为正弦频率;Phrase 为初始相角;Sample time 为采样时间。(2) 阶
24、跃信号源 (Step) 阶跃信号模块就是输入信号源,其模块参数对话框如图7、 14 所示。其中 :Step time 为阶跃信号的变化时刻,initial value 为初始值 ,Final value 为终止值 ,Sample time 为采样时间。图 7、14 阶跃信号模块的参数图 7、13 模块的参数设置精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程(3) 从工作空间获取数据(From work
25、space) 从工作空间获取数据模块的输入信号源为工作空间。【例 7、2】在工作空间计算变量t 与 y,将其运算的结果作为系统的输入。 t=0:0、1:10; y=sin(t); t=t; y=y; 然后将“ From Workspace ”模块的参数设置对话框打开,如图 7、15(a)所示 ,在“ Data”栏填写“ t,y ”,单击“ OK ”按钮完成。则在模型窗口中该模块就显示为图7、15(b)。用示波器作为接收模块,可以查瞧输出波形为正弦波。“Data”的输入有几种,可以就是矩阵、包含时间数据的结构数组。“ From Workspace ”模块的接收模块必须有输入端口,“Data”矩阵
26、的列数应等于输入端口的个数+1,第一列自动当成时间向量,后面几列依次对应各端口。t=0:0 、1:2*pi; y=sin(t); y1=t;y; save Ex0702 y1 %保存在“Ex0702、mat”文件中(4) 从文件获取数据(From file) 从文件获取数据模块就是指从mat 数据文件中获取数据为系统的输入。将【例 7、2】中的数据保存到、mat 文件 : t=0:0、1:2*pi; 图 7、15 (a) 模块参数设置(b) 从工作空间获取数据模图 7、16 From File 参数设置精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归
27、纳 - - - - - - - - - -第 13 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程 y=sin(t); y1=t;y; save Ex0702 y1 %保存在“ Ex0702 、mat ”文件中然后将“ From File ”模块的参数设置对话框打开,如图 7、16 所示 ,在“”栏填写“ Ex0702 、mat”,单击“ OK”按钮完成。用示波器作为接收模块,可以查瞧输出波形。(5) 传递函数 (Transfer function) 传递函数模块就是用来构成连续系统结构的模块,其模块参数对话框如图7、17 所示。在上图中设置
28、“Denominator ”为“ 1 1 、414 1 ”,则在模型窗口中显示为如图7、 18 所示。(6) 示波器 (Scope) 示波器模块就是用来接收输入信号并实时显示信号波形曲线,示波器窗口的工具栏可以调整显示的波形,显示正弦信号的示波器如图7、19 所示。图 7、17 传递函数模块参数设置图 7、18 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程2、 模块属性设置每个模块的属性对话框的内容
29、都相同,如图 7、22 所示。打开参数对话框纵 坐 标的 自 动X-Y 坐标变焦X 坐标变焦图 7、19 示波器窗口把当前的坐标设置保存浮动示波器恢 复 保 存 过的坐标设置Y 坐标变焦精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程(1) 说明 (Description) 对模块在模型中用法的注释。(2) 优先级 (Priority) 规定该模块在模型中相对于其它模块执行的优先顺序。(3) 标记 (T
30、ag) 用户为模块添加的文本格式标记。(4) 调用函数 (Open function) 当用户双击该模块时调用的MATLAB函数。(5) 属性格式字符串(Attributes format string) 指定在该模块的图标下显示模块的哪个参数与格式。7、5 复杂系统的仿真与分析Simulink 的模型实际上就是定义了仿真系统的微分或差分方程组,而仿真则就是用数值解算法来求解方程。图 7、22 模块的属性设置图 7、23 模块的属性格式字符串精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 3
31、7 页 - - - - - - - - - - matlab-simulink 初级教程7、5、1 仿真的设置在模型窗口选择菜单“Simulation ”“Simulation parameters ”,则会打开参数设置对话框,如图 7、24 所示。1、 Solver 页的参数设置(1) 仿真的起始与结束时间仿真的起始时间(Start time) 仿真的结束时间(Stop time) (2) 仿真步长仿真的过程一般就是求解微分方程组,“Solve options ”的内容就是针对解微分方程组的设置。(3) 仿真解法Type 的右边 :设置仿真解法的具体算法类型。(4) 输出模式根据需要选择输出
32、模式(Output options), 可以达到不同的输出效果。2、 Workspace I/O(工作空间输入输出)页的设置如图 7、25 所示 ,可以设置Simulink 从工作空间输入数据、初始化状态模块,也可以把仿真的结果、状态模块数据保存到当前工作空间。图 7、24 Solver 参数设置精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程(1) 从工作空间装载数据(Load from worksp
33、ace) (2) 保存数据到工作空间(Save to workspace) ?Time 栏勾选 Time 栏后 ,模型将把 (时间 )变量以在右边空白栏填写的变量名(默认名为tout)存放于工作空间。?States栏勾选 States 栏后 ,模型将把其状态变量在右边空白栏填写的变量名(默认名为xout) 存放于工作空间。?Output 栏如果模型窗口中使用输出模块“Out”,那么就必须勾选Output 栏,并填写在工作空间中的输出数据变量名(默认名为yout) 。?Final state 栏Final state 栏的勾选 ,将向工作空间以在右边空白栏填写的名称(默认名为xFinal), 存
34、放最终状态值。(3) 变量存放选项 (Save options) Save options 必须与 Save to workspace 配合使用。7、5、2 连续系统仿真【例 7、3】建立二阶系统的仿真模型。方法一 : 输入信号源使用阶跃信号,系统使用开环传递函数s6. 0s12,接受模块使用示波器来构成模型。图 7、25 Workspace I/O参数设置精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教
35、程(1) 在“ Sources”模块库选择“Step”模块 ,在“ Continuous ”模块库选择“Transfer Fcn ”模块 ,在“ Math Operations ”模块库选择“Sum”模块 ,在“ Sinks”模块库选择“ Scope”。(2) 连接各模块 ,从信号线引出分支点,构成闭环系统。(3) 设置模块参数 ,打开“ Sum”模块参数设置对话框,如图 7、26 所示。将“ Icon shape”设置为“ rectangular”,将“ List of signs ”设置为“ |+-”,其中“ |”表示上面的入口为空。“Transfer Fcn ”模块的参数设置对话框中,将
36、分母多项式“Denominator ”设置为“ 1 0、6 0”。将“ Step”模块的参数设置对话框中,将“ Step time”修改为0。(4) 添加信号线文本注释双击信号线 ,出现编辑框后,就输入文本。则模型如图7、27 所示。(5) 仿真并分析单击工具栏的“Start simulation ”按钮 ,开始仿真 ,在示波器上就显示出阶跃响应。在 Simulink 模型窗口 ,选择菜单“ Simulation ”“ Simulation parameters ”命令 ,在“ Solver”页将“ Stop time ”设置为15,然后单击“ Start simulation ”按钮 ,示波
37、器显示的就到15 秒结束。打开示波器的Y 坐标设置对话框,将 Y 坐标的“ Y-min ”改为 0,“Y-max ”改为 2,将“ Title ”设置为“二阶系统时域响应”,则示波器如图7、 28 所示。图 7、27 二阶系统模型图 7、26 Sum 参数设置精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程方法二 : (1) 系统使用积分模块(Integrator) 与零极点模块(zero-pole)
38、串联 ,反馈使用“ Math Operations ”模块库中的“Gain”模块构成反馈环的增益为-1。(2) 连接模块 ,由于“ Gain”模块在反馈环中,因此需要使用“Flip Block ”翻转该模块。(3) 设置模块参数 ,将“ zero-pole”模块参数对话框中的“Zeros”栏改为“ ”,将“ Poles”栏改为 -0、6。将“ Gain”模块的“ Gain”参数改为 -1。模型如图7、29 所示。如果将示波器换成“Sinks”模块库中的“Out”模块;然后在仿真参数设置对话框的“Workspace I/O ” 页(工作空间输入输出),将“ Time ”与“ Output ”栏勾
39、选 ,并分别设置保存在工作空间的时间量与输出变量为“tout”与“ yout”。仿真后在工作空间就可以使用这两个变量来绘制曲线,如图 7、30 所示 : plot(tout,yout) 图 7、28 示波器显示图 7、29 二阶系统模型精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程7、5、3 离散系统仿真【例 7、4】控制部分为离散环节,被控对象为两个连续环节,其中一个有反馈环,反馈环引入了零阶保持器
40、,输入为阶跃信号。创建模型并仿真: (1) 选择一个 “Step”模块 ,选择两个 “Transfer Fcn ”模块 ,选择两个 “ Sum” 模块 ,选择两个 “Scope”模块 ,选择一个 “Gain”模块 ,在 “ Discrete”模块库选择一个 “ Discrete Filter ”与一个“ Zero-Order Hold ”模块。(2) 连接模块 ,将反馈环的“Gain”模块与“ Zero-Order Hold ”模块翻转。(3) 设置参数 ,“ Discrete Filter ”与“ Zero-Order Hold ”模块的“ Sample time”都设置为0、1s。图 7、
41、30 plot 绘制的时域响应波形精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 21 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程(4) 添加文本注释 ,系统框图如图7、31 所示。(5) 设置颜色 ,Simulink为帮助用户方便地跟踪不同采样频率的运作范围与信号流向,可以采用不同的颜色表示不同的采样频率,选择菜单“ Format”“Sample time color”,就可以瞧到不同采样频率的模块颜色不同。(6) 开始仿真 ,在 Simulink
42、 模型窗口 ,选择菜单“ Simulation ”“Simulation parameters”,将“ Max step size”设置为0、 05s,则两个示波器“Scope”与“ Scope1”的显示如图7、32 所示。可以瞧出当T=Tk=0 、 1 时系统的输出响应较平稳。图 7、32 T=Tk=0 、1 (a) d(k) 示波器显示(b) y(t) 示波器显示图 7、31 离散系统框图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 22 页,共 37 页 - - - - - - - - - - m
43、atlab-simulink 初级教程(7) 修改参数 ,将“ Discrete Filter ”模块的“ Sample time ”设置为 0、6s,“Zero-Order Hold ”模块的“ Sample time ”不变 ;选择菜单“ Edit ”“Update diagram ”命令修改颜色 ,就可以瞧到“Discrete Filter ”模块的颜色变化了;然后开始仿真,则示波器显示如图7、33 所示。可以瞧出当T=0 、6 而 Tk=0 、1 时,系统出现振荡。(8) 修改参数 ,将“ Discrete Filter ” 与“ Zero-Order Hold ”模块的“ Sampl
44、e time ”都设置为0、6s,更新框图颜色,开始仿真 ,则示波器显示如图7、34 所示。当 T=Tk=0 、6 时,系统出现强烈的振荡。7、5、4 仿真结构参数化当系统参数需要经常改变或由函数得出时,可以使用变量来作为模块的参数。【例 7、5】将【例 7、4】中的模块结构参数用变量表示,结构图如图7、35 所示。图 7、33 T=0、6 Tk=0 、1 (a) d(k) 示波器显示(b) y(t) 示波器显示图 7、34 T=0、6 Tk=0 、1 (a) d(k) 示波器显示(b) y(t) 示波器显示精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载
45、名师归纳 - - - - - - - - - -第 23 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程将参数设置放在Ex0705_1 、m 文件中 : % Ex0705_1 参数设置T=0、1; %控制环节采样时间Tk=0 、6;%零阶保持器采样时间k=0、03;%Gain 增益zt1=1、44;zt2=-1 、26;zt3=1;zt4=-1; tf11=6 、7;tf12=0 、1;tf13=1; tf21=1;tf22=3;tf23=1 在 MATLAB工作空间运行该文件: Ex0705_1 7、6 子系统与封装7、6、1 建立子系统子
46、系统类似于编程语言中的子函数。建立子系统有两种方法:在模型中新建子系统与在已有的子系统基础上建立。1、 在已建立的模型中新建子系统【例 7、6】打开【例7、4】建立的模型,将控制对象中的第一个连续环节中的反馈环建立为一个子系统。在模型窗口中 ,将控制对象中的第一个连续环节的反馈环用鼠标拖出的虚线框框住,选择菜单“ Edit ”“Create subsystem”,则系统如图7、36 所示。图 7、35 离散系统框图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 24 页,共 37 页 - - - - -
47、- - - - - matlab-simulink 初级教程双击子系统 ,则会出现“ Subsystem”模型窗口 ,如图 7、37 所示。可以瞧到子系统模型除了用鼠标框住的两个环节,还自动添加了一个输入模块“In1”与一个输出模块“ Out1”。2、 在已有的子系统基础上建立【例 7、7】在【例 7、6】的基础上建立新子系统,将【例 7、6】模型的控制对象中的第一个对象环节整个作为一个子系统。将图 7、36 中的所有对象都复制到新的空白模型窗口中,双击打开子系统“Subsystem”,则出现如图7、37 所示的子系统模型窗口,添加模型构成反馈环形成闭环系统,如图 7、38 所示。然后将系统模
48、型修改为如图7、39 所示的系统。图 7、36 子系统建立图 7、38 子系统模块窗口图 7、37 子系统模型窗口精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 25 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程创建的子系统可以打开与修改,但不能再解除子系统设置。7、6、2 条件执行子系统1、 使能子系统 (Enabled Subsystem) 【例 7、8】建立一个用使能子系统控制正弦信号为半波整流信号的模型。模型由正弦信号“Sine wave”为输
49、入信号源,示波器“ Scope”为接收模块,使能子系统“Enabled Subsystem”为控制模块, 连接模块 ,将“ Sine wave”模块的输出作为“Enabled Subsystem”的控制信号,模型如图7、42(a)所示。开始仿真 ,由于“ Enabled Subsystem”的控制为正弦信号,大于零时执行输出,小于零时就停止,则示波器显示为半波整流信号,示波器的显示如图7、42(b)所示。图 7、39 包含子系统的模型图 7、41 (a) “Enable”模块参数设置(b) “Out1 ”模块参数设置精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢
50、迎下载 名师归纳 - - - - - - - - - -第 26 页,共 37 页 - - - - - - - - - - matlab-simulink 初级教程2、 触发子系统 (Triggered Subsystem) 【例 7、9】建立一个用触发子系统控制正弦信号输出阶梯波形的模型。模型由正弦信号 “Sine wave”为输入信号源,示波器“Scope”为接收模块 ,触发子系统 “Triggered Subsystem ”为控制模块 ,选择“ Sources” 模块库中的 “Pulse Generator”模块为控制信号。连接模块 ,将“ Pulse Generator”模块的输出作为