美赛数学建模专用-第七章 Simulink 基础
- 格式:doc
- 大小:118.50 KB
- 文档页数:12
第七章Simulink 基础一.Simulink 初步MATLAB Simulink是一个动态仿真系统,用于对动态系统进行仿真和分析,预先模拟实际系统的特性和响应,根据设计和使用要求,对系统进行修改和优化。
Simulink提供了图形化用户界面,只须点击鼠标就可以轻易的完成模型的创建、调试和仿真工作,用户不须专门掌握一种程序设计语言。
Simulink可将系统分为从高级到低级的几个层次,每层又可以细分为几个部分,每层系统构建完成后,将各层连接起来构成一个完整系统。
模型创建完成后,可以启动系统的仿真功能分析系统的动态特性,其内置的分析工具包括各种仿真算法、系统线性化、寻求平衡点等。
仿真结果可以以图形方式在示波器窗口显示,也可将输出结果以变量形式保存起来,并输入到MATLAB中以完成进一步的分析。
Simulink可以仿真线性和非线性系统,并能创建连续时间、离散时间或二者混合的系统。
支持多采样频率系统。
Simulink的三大步骤:模型创建与定义、模型的分析、模型的修正。
Simulink的运行:1.命令窗口下点击Simulink图标(或键入Simulink命令)→Sim→sim模块2.打开模型创建窗口:在工具栏中选择“建立新模型”的图标,弹出名为Untitled的空白窗口。
二.Simulink 的基本模块simulink浏览器窗口左侧的simulink项上单击鼠标右键,弹出菜单“Open the ‘Simulink’Labrary’”选项,将打开simulink模块库窗口。
1.信号源模块:source,模块及功能见(表8—1)2.输出模块:Sinks, 模块及功能见(表8—2)3. 连续系统模块:Continuous, 模块及功能见(表8—3)4. 离散系统模块:Discrete, 模块及功能见(表8—4)5. 数学运算模块:Math, 模块及功能见(表8—5)6.函数和表模块:Function & Tables, 模块及功能见(表8—6)7. 非线性系统模块:Nonlinear, 模块及功能见(表8—7)8. 信号与系统模块:Signal & Systems, 模块及功能见(表8—8)三. Simulink 建模1.模块的创建与操作(1) 创建模块:(1)在浏览器列表中点击需要的模块,按住鼠标左键并拖曳至模型窗口即可。
SIMULINK®建立动态系统模型创建模型课程概要Simulink基础 收集各块 连接各块 设置块的参数 Simulink 与MATLAB 工作区的接口 修改框图 向量和矩阵的使用 复杂系统的编辑© 2002 The MathWorks, Inc./北京九州恒润科技有限公司2Simulink 基础用一些块组成的图形界面代表系统 使用一计算引擎,通过时间步长步进系统信号传递 块的输出计算使用 MATLAB 工作区参数 与 MATLAB 工作区有接口,可交换系统的输入、输出数 据© 2002 The MathWorks, Inc./北京九州恒润科技有限公司3启动 Simulink© 2002 The MathWorks, Inc./北京九州恒润科技有限公司4使用模块库块查找 块描述库块© 2002 The MathWorks, Inc./北京九州恒润科技有限公司 5收集和连接所需各块用拖放操作收集模块 使用鼠标左键 连接模块© 2002 The MathWorks, Inc./北京九州恒润科技有限公司6自动连接1. 选择开始块 2. 按下Ctrl 键 3. 选择目标块© 2002 The MathWorks, Inc./北京九州恒润科技有限公司7拷贝和插入模块右键拖放模块进行拷贝 把模块放在连线 上完成插入© 2002 The MathWorks, Inc./北京九州恒润科技有限公司8设置模块参数— —双击块打开参数设置对话框选择应用或确定按钮© 2002 The MathWorks, Inc./北京九州恒润科技有限公司9连线分支和连线改动在连线上右键并拖动 引出分支 在连线上左键拖动 改动连线© 2002 The MathWorks, Inc./北京九州恒润科技有限公司10信号组合Simulink 可以完成向量和矩阵数据的传递.使用MUX 模块把几个标量组合成一个向量.可用Wide NonscalarLines 和SignalDimensions 菜单选项配合向量使用.>> vectors仿真运行点击PLAY 按钮运行框图仿真双击示波器观察结果框图的缩放从View 菜单下选择Zoom 按空格键充满可视区单击块的名字进行选择和编辑f命名可由多行组成可把名字拖放到模块的另一侧字框图注释在背景空白处双击生成文本框键入文本右键点击文本改变字体、大小和对齐方式左键点击拖动改变位置双击信号线并添加标签左键点击并在信号线上移动 若是移往其它地方则标签自动回到信号线上信号标签的传递信号标签可以越过不改变信号的模块键入“<”代表要传递的信号标签更新框图标签只在信号前进的方向上传递创建子系统选择要封装的区域(左键在背景区域上拖放)在Edit菜单下选择:“Create Subsystem”输入和输出使信号可以在子系统和父系统之间传递 输入和输出模块的名字反映在子系统上 顺序标号练习:对输入进行平方运算建立一个模型,对输入向量进行平方运算 信号源: 幅值为2的正弦波在示波器上显示输入和结果将做好的部分装入子系统标注信号并传递保存框图解答: 对输入作平方运算>> squared_sine来自工作区的参数Simulink 能够使用MATLAB 的工作区模块参数可以是来自MATLAB工作区Simulink可以使用MATLAB工作区对表达式赋值将信号输出到工作区Simulink 能够使用MATLAB 工作区输入/输出数据.使用“To Workspace”模块.当仿真暂停或终止时输出将被写到工作区中.可以保存为结构(包括时间) 或数组>> outwork从工作区输入信号From Workspace 块可以将MATLAB 工作区中的变量作为输入变量格式:f t=0:time_step:final_time;f x=func(t);或分段线性插值f块的参数: [t’,x’]例子:>> infromwork>> t=0:0.1:10; x=sin(t);>> t=[0 3 6 9]; x=[-1 1 -1 1];>> simin=[t’,x’];工作区I/O 和Inport/Outport输入,输出 将Inport/ Outport置于系统顶层==> 将数据传入/传出工作区数据格式与To/From Workspace块相同选项控制Simulation--> SimulationParameters--> Workspace I/OTab信号建立块信号建立块可使方便的交互式建立一组分段变化的线性插值信号源用在模型中.使用信号建立块输入左键点击拖动断点改变Y 轴位置按下Shift 键并用左键拖动改变断点的时间位置按下Shift 键在信号上单击增加一个断点修改块拖动块的一角改变其大小 使用上下文菜单改变块的颜色f右键单击块f改变背景和前景的颜色改变位置/方向按Shift键并单击拖动以取消连接Ctrl-I 翻转Ctrl-R 旋转90度向量和矩阵模块参数可以是实数或复数向量>> vector_gainSimulink 也可以使用矩阵数据>> matrix_gainSimulink 库Continuous:带有连续状态的系统Discontinuities:限幅,量化Discrete:带有离散状态的系统Lookup Tables: 查表Math Operations: 算术,逻辑,三角函数Model Verification: 错误检测Model-Wide Utilities: 线性化,文档Ports and Subsystems: 各种子系统和端口(如使能,触发等.) Signal Attributes: 速率转换,初始值,类型转换Signals Routing: 信号接口与操作,开关Sinks:信号观察Sources:输入波形User-Defined Functions: MATLAB 函数,表达式,S-FunctionFunction 和MATLAB Function 块Function 模块用于写一个通常的表达式MATLAB Function 用于调用MATLAB 函数>> fun_mfun处理大型模型要自顶向下的建立具有复杂层次结构的模型,最好从空的‘Subsystem’模块开始.处理一个复杂模型,可借助于模型浏览器.>> sf_car练习:反馈系统>> cruisesystem小结Simulink基础收集各块连接各块设置块的参数Simulink 与MATLAB 工作区的接口 修改框图向量和矩阵的使用复杂系统的编辑。
美赛数学建模专用-第七章Simulink 基础Chapter 7: Introduction to Simulink一.Simulink 初步(Primer of Simulink)MATLAB Simulink是一个动态仿真系统,用于对动态系统进行仿真和分析,预先模拟实际系统的特性和响应,根据设计和使用要求,对系统进行修改和优化。
Simulink提供了图形化用户界面,只须点击鼠标就可以轻易的完成模型的创建、调试和仿真工作,用户不须专门掌握一种程序设计语言。
Simulink可将系统分为从高级到低级的几个层次,每层又可以细分为几个部分,每层系统构建完成后,将各层连接起来构成一个完整系统。
模型创建完成后,可以启动系统的仿真功能分析系统的动态特性,其内置的分析工具包括各种仿真算法、系统线性化、寻求平衡点等。
仿真结果可以以图形方式在示波器窗口显示,也可将输出结果以变量形式保存起来,并输入到MATLAB中以完成进一步的分析。
Simulink可以仿真线性和非线性系统,并能创建连续时间、离散时间或二者混合的系统。
支持多采样频率系统。
SimulinkVersion 6.0 (R14) 05-May-2004Model analysis and construction functions.Simulationsim - Simulate a Simulink model.sldebug - Debug a Simulink model.simset - Define options to SIM Options structure.simget - Get SIM Options structureLinearization and trimming.linmod - Extract linear model from continuous-time system.linmod2 - Extract linear model, advanced method.dlinmod - Extract linear model from discrete-timesystem.trim - Find steady-state operating point.Model Construction.close_system - Close open model or block.new_system - Create new empty model window.open_system - Open existing model or block.load_system - Load existing model without making model visible.save_system - Save an open model.add_block - Add new block.add_line - Add new line.delete_block - Remove block.delete_line - Remove line.find_system - Search a model.hilite_system - Hilite objects within a model.replace_block - Replace existing blocks with a new block.set_param - Set parameter values for model or block.get_param - Get simulation parameter values from model.add_param - Add a user-defined string parameter to a model.delete_param - Delete a user-defined parameter from a model.bdclose - Close a Simulink window.bdroot - Root level model name.gcb - Get the name of the current block.gcbh - Get the handle of the current block.gcs - Get the name of the current system.getfullname - get the full path name of a blockslupdate - Update older 1.x models to 3.x.addterms - Add terminators to unconnected ports.boolean - Convert numeric array to boolean.slhelp - Simulink user's guide or block help.Masking.hasmask - Check for mask.hasmaskdlg - Check for mask dialog.hasmaskicon - Check for mask icon.iconedit - Design block icons using ginput function.maskpopups - Return and change masked block's popup menu items.movemask - Restructure masked built-in blocks as masked subsystems.Library.libinfo - Get library information for a system.Diagnostics.sllastdiagnostic - Last diagnostic array.sllasterror - Last error array.sllastwarning - Last warning array.sldiagnostics - Get block count and compile stats for a model.Hardcopy and printing.frameedit - Edit print frames for annotated model printouts.print - Print graph or Simulink system; or save graph to M-file.printopt - Printer defaults.orient - Set paper orientation.simulink is both a directory and a function.Copyright 1990-2004 The MathWorks, Inc.Simulink的三大步骤(procedure of Simulink):模型创建与定义、( Model creating and definition)模型的分析、(Model analyzing)模型的修正。
(Model modifying)Simulink的运行:(Running of Simulink)1、运行Simulink:命令窗口下点击Simulink图标(或键入Simulink命令)→Sim(浏览器)→sim树状列表形式的模块库(包含simulink模块库中的各种模块及其它Toolbox和Blockset中的模块)2、选择建模模块:展开树状列表,用鼠标点击所需类别的模块项,所选模块类的具体模块库就在右侧的列表框中显示出来,提供建模使用。
也可以在在输入栏中键入模块名并点击Find按钮进行查询。
3、打开模型创建窗口:(open the window of mode creating)。
在工具栏中选择“建立新模型”的图标,弹出名为Untitled的空白窗口,选择Open窗口可以打开存于硬盘中已建的模型,完成模型的运行或修改。
二.Simulink 的基本模块(basic module)simulink浏览器窗口左侧的simulink项上单击鼠标右键,弹出菜单“Open the ‘Simulink’Labrary’”选项,将打开simulink模块库窗口。
1.信号源模块:source,模块及功能见(表8—1)2.输出模块:Sinks, 模块及功能见(表8—2)3. 连续系统模块:Continuous, 模块及功能见(表8—3)4. 离散系统模块:Discrete, 模块及功能见(表8—4)5. 数学运算模块:Math, 模块及功能见(表8—5)6.函数和表模块:Function & Tables, 模块及功能见(表8—6)7. 非线性系统模块:Nonlinear, 模块及功能见(表8—7)8. 信号与系统模块:Signal & Systems, 模块及功能见(表8—8)三. Simulink 建模(Simulinc module creating)1.模块的创建与操作(Creating and operation of Simulink)(1) 创建模块:(module creating)(1)在浏览器列表中点击需要的模块,按住鼠标左键并拖曳至模型窗口即可。
(2)双击模块可在弹出的对话框中修改相应的模块参数(3)在模块下方名称处双击可改变模块名称。
(2)模块操作(module operation)(a)模块的选择(module selection)(b)移动模块(module moving)(c)模块的缩放(modulee scaling)(d)复制模块:(module copy)四种方法:*在选定模块处,按下鼠标右键并拖动至适当位置;*选定模块,在工具栏中(或Edit菜单中)选中Copy与Paste按钮;*在选定的模块处点击鼠标右键,在弹出的菜单中选择Copy与Paste选项;*按住”Ctr l”键,按下鼠标左键,将选定的模块拖至适当的位置。
(e)模块的旋转与翻转:(Rotating and turnover of module)旋转:(rotate)将鼠标指向要翻转的模块并按下鼠标右键,选择弹出菜单中的Format栏中的Rotate项,模块顺时针旋转90o。
翻转:将鼠标指向要翻转的模块并按下鼠标右键,选择弹出菜单中的Format栏中的Flip Block项,模块顺时针旋转180o。
(f)模块的连接(h)连接分支线(i)改变连线的形状(j)连线的标识:在连线的上或下方(或窗口内任何位置)双击鼠标左键,可出现一个文本框用于输入说明文字。