ImageVerifierCode 换一换
格式:DOCX , 页数:46 ,大小:1.53MB ,
资源ID:3441316      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3441316.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实用MATLAB教程第七章.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实用MATLAB教程第七章.docx

1、实用MATLAB教程第七章1. 第7章 Simulink仿真环境Simulink是MATALB的仿真工具箱,MATLAB6.5版使用的是Simulink5.0,可以用来对动态系统进行建模、仿真和分析,支持连续的、离散的以及线性的和非线性的系统,也支持具有多种采样速率的系统。Simulink是面向框图的仿真软件,具有以下功能:(1) 用绘制方框图代替编写程序, 结构和流程清晰。(2) 智能化地建立和运行仿真,仿真精细、贴近实际。自动建立各环节的方程,自动地在给定精度要求下以最快速度进行系统仿真。(3) 适应面广。包括线性、非线性系统;连续、离散及混合系统;单任务、多任务离散事件系统。7.1演示一

2、个Simulink的简单程序演示一个Simulink的简单模型,可以看出建立模型的步骤。【例7.1】创建一个正弦信号的仿真模型。步骤如下:(1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。上面的窗口界面分为左右两列,左侧以树状结构列出的是模块库和工具箱,右侧列出的是左侧所选模块的子模块库。当前显示的是Simulink模块库。(2) 单击工具栏上的图标或选择菜单“File”“New”“Model”,新建一个名为“untitled”的空白模型窗口。(3)

3、在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“Sine Wave”模块就被添加到untitled窗口;也可以用鼠标选中“Sine Wave”模块,单击鼠标右键,在快捷菜单中选择“add to untitled”命令,就可以将“Sine Wave”模块添加到untitled窗口,如图7.2所示。(5) 用同样的方法打开接收模块库“Si

4、nks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。(6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。(7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。(8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。

5、一个简单的仿真模型就建立了,可以看出Simulink提供了友好的图形用户界面,模型由模块框图连接来表示,通过简单的鼠标单击和拖动就可以建立模型,模型文件的扩展名为“.mdl”。在本例中出现了几个独立的窗口:图7.1的模块库浏览器窗口、图7.3的模型窗口和图7.4的示波器窗口。在MATLAB的帮助导航浏览器窗口的Demos选项卡中,可以查看各种复杂的仿真例题演示。7.2 Simulink的文件操作和模型窗口7.2.1 Simulink的文件操作Simulink模型的文件为MDL模型文件,其扩展名为“.mdl”,是以ASC码形式存储的。1. 新建文件新建仿真模型文件有几种操作: 在MATLAB的命

6、令窗口选择菜单“File”“New”“Model”。 在图7.1的Simulink模块库浏览器窗口选择菜单“File”“New”“Model”,或者单击工具栏的图标。 在图7.3的Simulink模型窗口选择菜单“File”“New”“Model”,或者单击工具栏的图标。2. 打开文件打开仿真模型文件有几种操作: 在MATLAB的命令窗口输入不加扩展名的文件名,该文件必须在当前搜索路径中,例如输入“Ex0701”。 在MATLAB的命令窗口选择菜单“File”Open”或者单击工具栏的图标打开文件。 在图7.1的Simulink模块库浏览器窗口选择菜单“File”“Open”或者单击工具栏的图

7、标打开“.mdl”文件。 在图7.3的Simulink模型窗口中选择菜单“File”“Open”或者单击工具栏的图标打开文件。7.2.2 Simulink的模型窗口在图7.3所示的Simulink模型窗口是单窗口形式,可以单击工具栏的按钮(Toggle model browser),切换为双窗口形式,如图7.5所示。模型窗口由菜单、工具栏、模型浏览器窗口、模型框图窗口以及状态栏组成。1. 状态栏状态栏用来显示仿真的状态。当鼠标指向菜单项和工具栏时,在状态栏显示其定义;“Ready”表示模型已准备就绪而等待仿真命令;“100”表示编辑窗模型的显示比例;“ode45”表示仿真所选用的积分算法。在仿

8、真过程中,状态栏还会出现动态信息。2. 工具栏模型窗口工具栏如图7.6所示。3. 菜单Simulink的模型窗口的常用菜单如表7.1所示。表7.1模型窗口常用菜单表菜单名菜单项功能FileNewModel新建模型Model properties模型属性PreferencesSIMULINK界面的默认设置选项Print打印模型Close关闭当前Simulink窗口Exit MATLAB退出MATLAB系统EditCreate subsystem创建子系统Mask subsystem封装子系统Look under mask查看封装子系统的内部结构Update diagram更新模型框图的外观Vie

9、wGo to parent显示当前系统的父系统Model browser options模型浏览器设置Block data tips options鼠标位于模块上方时显示模块内部数据Library browser显示库浏览器Fit system to view自动选择最合适的显示比例Normal以正常比例(100%)显示模型SimulationStartStop启动停止仿真PauseContinue暂停继续仿真Simulation Parameters设置仿真参数Normal普通Simulink模型Accelerator产生加速Simulink模型FormatText alignment标注文

10、字对齐工具Filp name翻转模块名ShowHide name显示隐藏模块名Filp block翻转模块Rotate Block旋转模块Library link display显示库链接ShowHide drop shadow显示隐藏阴影效果Sample time colors设置不同的采样时间序列的颜色Wide nonscalar lines粗线表示多信号构成的向量信号线Signal dimensions注明向量信号线的信号数Port data types标明端口数据的类型Storage class显示存储类型ToolsData explorer数据浏览器Simulink debugger

11、Simulink调试器Data class designer用户定义数据类型设计器Linear Analysis线性化分析工具 7.3 模型的创建Simulink的模型是由模块和信号线连接构成的方框图,创建模型就是绘制方框图,用户可以方便地通过鼠标的抓取和拖放等操作来完成。7.3.1模块的操作1. 对象的选定 选定单个对象选定对象只要在对象上单击鼠标,被选定的对象的四角处会出现小黑块编辑框。 选定多个对象如果选定多个对象,可以按下Shift键,然后再单击所需选定的模块;或者用鼠标拉出矩形虚线框,将所有待选模块框在其中,则矩形框中所有的对象均被选中,如图7.7所示。 选定所有对象如果要选定所有对

12、象,可以选择菜单“Edit”“Select all”。2. 模块的复制用户在建立模型时,经常需要从Simulink库或其它模型窗口中复制模块,也经常在同一模型中复制模块。(1) 不同模型窗口(包括模型库窗口)之间的模块复制 选定模块,用鼠标将其拖到另一模型窗口。 选定模块,使用菜单的“Copy”和“Paste”命令。 选定模块,使用工具栏的“Copy”和“Paste”按钮。(2) 在同一模型窗口内的复制模块(如图7.8所示) 选定模块,按下鼠标右键,拖动模块到合适的地方,释放鼠标。 选定模块,按住Ctrl键,再用鼠标拖动对象到合适的地方,释放鼠标。 使用菜单和工具栏中的“Copy”和“Past

13、e”按钮。复制的模块和源模块同名,并继承所有的参数值;在同一个模型窗口中复制的相同模块,模块名后面加数字区分,如图7.8所示原正弦信号名字为“Sine Wave”,复制的正弦信号名字为“Sine Wave1”;在不同窗口之间复制的所得模块和源模块完全同名。3. 模块的移动 在同一模型窗口移动模块选定需要移动模块,用鼠标将模块拖到合适的地方。 在不同模型窗之间移动模块在不同模型窗之间移动模块,在用鼠标移动的同时按下Shift键。当模块移动时,与之相连的连线也随之移动。 4. 模块的删除要删除模块,应选定待删除模块,按Delete键;或者用菜单“Edit”“Clear”或“Cut”;或者用工具栏的

14、“Cut”按钮。 5. 改变模块大小选定需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可以实现放大或缩小。6. 模块的翻转默认状态下的模块总是输入端在左,输出端在右,如图7.9所示左边为正常示波器模块,有时需要使输入输出端位置改变,则应翻转模块。 模块翻转180度选定模块,选择菜单“Format”“Flip Block”可以将模块旋转180度,如同7.9中间为翻转180度示波器模块。 模块翻转90度选定模块,选择菜单“Format”“RotateBlock”可以将模块旋转90度,如图7.9右边示波器所示。如果一次翻转不能达到要求,可以多次翻转来实现。7. 模块名的编辑 修改模块名单

15、击模块下面或旁边的模块名,出现虚线编辑框就可对模块名进行修改。 模块名字体设置选定模块,选择菜单“Format”“Font”,打开字体对话框设置字体。 模块名的显示和隐藏选定模块,选择菜单“Format”“Hide /Show name”,可以隐藏或显示模块名。 模块名的翻转选定模块,选择菜单“Format”“Flip name”,可以翻转模块名。7.3.2信号线的操作Simulink模型中模块间的连线称为信号线(Signal lines),信号线是用来连接模块并传送信号的,将一个模块的输出与另一个模块的输入连接,也可以把其它信号线与模块连接。在连接模块时,要注意模块的输入输出端和各模块间的信

16、号流向。1. 模块间连线将两个模块用信号线连接,先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另一模块的输入端。如果两个都是输入端或输出端则不能产生连线。连线时不需要将光标精确地移到模块端口,只要在其附近,Simulink会自动连接端口的;模块间的信号线也会根据起点和终点的位置自动采用直线或者折线。2. 信号线的分支和折曲(1) 分支的产生在模型框图中,一个信号往往需要分送到不同模块,需要绘制分支线,此时信号线中就会出现分支点。将光标指向信号线的分支点上,按鼠标右键,光标变为十字符,拖动鼠标直到分支线的终点,释放鼠标;或者按住Ctrl键,同时按下鼠标左键拖动鼠标到分支

17、线的终点,如图7.10所示。(2) 信号线的折线在用信号线连接模型时,经常需要将信号线转向,产生折线。选中已存在的信号线,将光标指向折点处,按住Shift键,同时按下鼠标左键,当光标变成小圆圈时,用鼠标拖动小圆圈将折点拉至合适处,释放鼠标,如图7.11所示。在上图中有三个折点,当选中折线时,将光标移到折点处,当光标变为个小圆圈时,就可以用鼠标拖动折点来移动折点。3. 信号线文本注释(label) 添加文本注释双击需要添加文本注释的信号线,则出现一个空的文字填写框,在其中输入文本。 修改文本注释单击需要修改的文本注释,出现虚线编辑框即可修改文本。 移动文本注释单击标识,出现编辑框后,就可以移动编

18、辑框。 复制文本注释单击需要复制的文本注释,按下Ctrl键同时移动文本注释,或者用菜单和工具栏的复制操作。4. 在信号线中插入模块如果模块只有一个输入端口和一个输出端口,则该模块可以直接被插入到一条信号线中。选定需要插入的模块,用鼠标拖动到希望插入的信号线上,释放鼠标。7.3.3给模型添加文本注释模型的文本注释用于提供模型的文本信息,有助于更好地理解模型。(1) 添加模型的文本注释在需要当作注释区的中心位置,双击鼠标左键,就会出现编辑框,在编辑框中就可以输入文字注释。(2) 注释的移动在注释文字处单击鼠标左键,当出现文本编辑框后,用鼠标就可以拖动该文本编辑框。7.4 Simulink的基本模块

19、Simulink模型通常由三部分组成:输入信号源(Source)、系统(System)以及接收模块(Sink),如图7.12所示。例如【例7.1】的简单模型就是由输入信号为正弦信号,接收模块为示波器组成的,省略了系统部分。系统、输入信号源、接收模块可以直接从Simulink模块库中获得,也可以由用户库中的模块组建而成。7.4.1基本模块Simulink的基本模块包括9个子模块库,分别是:连续系统(Continuous)、非连续系统(Discontinuities)、离散系统(Discrete)、查阅表(Look-up Tables)、数学运算(Math Operations)、模型确认(Mod

20、el Verification)、宽模型功能(Model-wide Utilities)、信号线路安排(Signals Routing) 、接收模块(Sinks)、输入信号源(Sources)和端口与子系统(Ports & Subsystems) 子模块库。1. 输入信号源模块库(Sources)输入信号源模块是用来向模型提供输入信号,没有输入口,至少有一个输出口。常用的输入信号源模块源如表7.2所示。表7.2 常用的输入信号源模块表名称模块形状功能说明Constant恒值常数,可设置数值Step阶跃信号Ramp线性增加或减小的信号Sine Wave正弦波输出Signal Generator信

21、号发生器,可以产生正弦、方波、锯齿波和随机波信号From File从文件获取数据From Workspace从当前工作空间定义的矩阵读数据Clock仿真时钟,输出每个仿真步点的时间In输入模块2. 接收模块库(Sinks)接收模块是用来接收模块信号的,常用的接收模块如表7.3所示。表7.3 常用的接收模块表名称模块形状功能说明Scope示波器,显示实时信号Display实时数值显示XY Graph显示X-Y两个信号的关系图To File把数据保存为文件To Workspace把数据写成矩阵输出到工作空间Stop Simulation输入不为零时终止仿真,常与关系模块配合使用Out输出模块3.

22、连续系统模块库(Continuous)连续系统模块是构成连续系统的环节,常用的连续系统模块如表7.4所示。表7.4 常用的连续系统模块表名称模块形状功能说明Integrator积分环节Derivative微分环节State-Space状态方程模型Transfer Fcn传递函数模型Zero-Pole零极点增益模型Transport Delay把输入信号按给定的时间做延时4. 离散系统模块库(Discrete)离散系统模块是用来构成离散系统的环节,常用的离散系统模块如表7.5所示。表7.5 常用的离散系统模块表名称模块形状功能说明Discrete Transfer Fcn离散传递函数模型Disc

23、rete Zero-Pole离散零极点增益模型Discrete State-Space离散状态方程模型Discrete Filter离散滤波器Zero-Order Hold零阶保持器First-Order Hold一阶保持器Unit Delay采样保持,延迟一个周期7.4.2常用模块的参数和属性设置Simulink中几乎所有模块的参数和属性都允许用户设置,几乎每个模块都有参数和属性设置对话框。1. 模块参数设置打开参数设置对话框可以通过双击模块或用鼠标右键打开快捷菜单,选择“Block Parameters”菜单项来打开。(1) 正弦信号源(Sine Wave)双击正弦信号源模块,会出现如图7

24、.13所示的参数设置对话框。图7.13的上部分为参数说明,仔细阅读可以帮助用户设置参数。Sine type为正弦类型,包括Time-based和Sample-based;Amplitude为正弦幅值;Bias为幅值偏移值;Frequency为正弦频率;Phrase为初始相角;Sample time为采样时间。如图中频率设置为10,相位设置为30/180*pi,幅值偏移值设置为10,则产生幅值为1,频率为10,在911之间振动的正弦信号。(2) 阶跃信号源(Step)阶跃信号模块是输入信号源,其模块参数对话框如图7.14所示。其中:Step time为阶跃信号的变化时刻,initial valu

25、e为初始值,Final value为终止值,Sample time为采样时间。(3) 从工作空间获取数据(From workspace)从工作空间获取数据模块的输入信号源为工作空间。【例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”的输入有几种,可以是矩阵、包含时间数据

26、的结构数组。各种格式都有比较严格的要求。“From Workspace”模块的接收模块必须有输入端口,“Data”矩阵的列数应等于输入端口的个数+1,第一列自动当成时间向量,后面几列依次对应各端口。(4) 从文件获取数据(From file)从文件获取数据模块是指从mat数据文件中获取数据为系统的输入。将【例7.2】中的数据保存到.mat文件: t=0:0.1:2*pi; y=sin(t); y1=t;y; save Ex0702 y1 %保存在“Ex0702.mat”文件中然后将“From File”模块的参数设置对话框打开,如图7.16所示,在“File name”栏填写“Ex0702.m

27、at”,单击“OK”按钮完成。用示波器作为接收模块,可以查看输出波形。(5) 传递函数(Transfer function)传递函数模块是用来构成连续系统结构的模块,其模块参数对话框如图7.17所示。在参数设置对话框中,主要是设置分子多项式系数(Numerator)、分母多项式系数(Denominator)和绝对容许误差限(Absolute tolerance)。“Numerator”可以是向量或矩阵,“Denominator”是向量,“Absolute tolerance”提供误差限,仿真默认的误差限在Simulink Parameters对话框中设置。在上图中设置“Denominator”

28、为“1 1.414 1”,则在模型窗口中显示为如图7.18所示。(6) 示波器(Scope)示波器模块是用来接收输入信号并实时显示信号波形曲线,还可以把数据送入工作空间,但该波形不能被直接打印或嵌入文件。示波器窗口的工具栏可以调整显示的波形,显示正弦信号的示波器如图7.19所示。示波器的参数设置: 示波器的Y坐标设置如图7.20(a)所示,通过用鼠标右键单击坐标框,在快捷菜单中选择“Axes properties”,就会出现Y坐标设置对话框,在“Y-min”和“Y-max”中设置坐标上下限,在“Title”中设置坐标的文字标注。 示波器的参数设置可以通过单击图7.19中工具栏的“Paramet

29、ers”(打开参数对话框)按钮,则出现如图7.20(b)所示的参数对话框,在“Time range”中设置显示信号范围,默认auto时为仿真时间范围,用户可以设置,如果信号实际持续时间超过该范围,则超出范围的信号在示波器中不显示; “Sampling”包含两个下拉菜单:“Decimation”表示频度,默认值为1,表示每隔1个数据点显示,“Sample time”表示显示点的采样时间步长,默认值为0,表示连续信号,大于0表示离散信号的时间间隔,-1表示由输入信号决定。 在图7.20(b)中“Number of axes”栏表示示波器的输入端口个数,默认值为1,表示只有一个输入,如果设置为2则表

30、示有两个输入端口,如图7.21(a)所示。 参数设置对话框中的“Data history”页如图7.21(b)所示, “Limit data points to last”栏表示缓冲区接受数据的长度,默认为5000,不管示波器是否打开,只要仿真启动,缓冲区就接受信号数据,示波器的缓冲区可接受30个信号,数据长度为5000,如果数据长度超出,则最早的历史数据会被清除。 如果给“Save data to workspace”选项打勾,则把示波器缓冲区中保存的数据以矩阵或结构数组的形式,送到工作空间,在下面两栏设置变量名(Variable)和数据类型(Format),可以在MATLAB命令窗口中查看该变量。2. 模块属性设置每个模块的属性对话框的内容都相同,选中模块后单击鼠标右键打开快

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1