MATLAB语言及其应用课件CH05Simulink仿真环境.ppt

上传人:wuy****n92 文档编号:80450830 上传时间:2023-03-23 格式:PPT 页数:62 大小:615KB
返回 下载 相关 举报
MATLAB语言及其应用课件CH05Simulink仿真环境.ppt_第1页
第1页 / 共62页
MATLAB语言及其应用课件CH05Simulink仿真环境.ppt_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《MATLAB语言及其应用课件CH05Simulink仿真环境.ppt》由会员分享,可在线阅读,更多相关《MATLAB语言及其应用课件CH05Simulink仿真环境.ppt(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第5章章 Simulink仿真环境仿真环境5.1 Simulink的概述的概述 5.2 Simulink的工作环境的工作环境5.3建立模型建立模型 5.4 Simulink的应用实例的应用实例 5.5 模型的调试模型的调试 5.6子系统与封装子系统与封装 5.7 S函数的设计与应用函数的设计与应用 5.1 Simulink的概述的概述1.Simulink的特点的特点(1)设计简单,系统结构使用方框图绘制,以绘制)设计简单,系统结构使用方框图绘制,以绘制模型化的图形代替程序输入,以鼠标操作代替编程;模型化的图形代替程序输入,以鼠标操作代替编程;(2)分析直观,用户不需要考虑系统模块内部,只)分

2、析直观,用户不需要考虑系统模块内部,只要考虑系统中各模块的输入输出;要考虑系统中各模块的输入输出;(3)仿真快速、准确,智能化地建立各环节的方程,)仿真快速、准确,智能化地建立各环节的方程,自动地在给定精度要求下以最快速度仿真,还可以交自动地在给定精度要求下以最快速度仿真,还可以交互式地进行仿真。互式地进行仿真。5.2 Simulink的工作环境的工作环境启动启动Simulink,通常有两种方法:,通常有两种方法:(1)在MATLAB的命令窗口输入“simulink”;(2)单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser)窗口。图7

3、.1 启动Simulink 这样就可打开了Simulink的Simulink Library Brower(库模块浏览器),如图5.2所示。在菜单栏中执行File/New/Model命令,就建立了一个名为untitled的模型窗口,如图5.3所示。在建立了空的模块窗口后,用户可以在此窗口中创建自己需要的Simulink模型。图5.2库模块浏览器 图5.3 新建的空白模块窗口 在在MATLAB命令窗口中输入命令窗口中输入simulink3 结果是在桌面上出现一个用图标形式显示的结果是在桌面上出现一个用图标形式显示的Library:simulink3的的Simulink模块库窗口。模块库窗口。两种

4、模块库窗口界面只是不同的显示形式,用户可以两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。易于初学者,但使用时会打开太多的子窗口。5.2.1 一个简单的一个简单的Simulink实例实例例例5-1 将一个阶跃输入信号送到积分环节,将一个阶跃输入信号送到积分环节,并将积分后的信号送到示波器显示。并将积分后的信号送到示波器显示。1.创建空白模型创建空白模型2.添加模块添加模块3.添加连接添加连接4.仿真仿真5.保存模型保存模型5.2.2 Simulink的模

5、型窗口的模型窗口Simulink模型的创建和仿真都是在模型窗模型的创建和仿真都是在模型窗口中进行的,模型窗口包括菜单、工具栏、口中进行的,模型窗口包括菜单、工具栏、模型设计区和状态栏。模型设计区和状态栏。模型窗口中的模型设计区用来创建和修改模型窗口中的模型设计区用来创建和修改模型。模型。5.2.3 Simulink的工作原理的工作原理仿真包括以下几个步骤。仿真包括以下几个步骤。(1)模型编译)模型编译(2)连接)连接(3)仿真执行)仿真执行一般仿真模型都采用数值积分来仿真的,一般仿真模型都采用数值积分来仿真的,相邻两个时间点的长度为步长,步长的大小相邻两个时间点的长度为步长,步长的大小取决于求

6、解器的类型。取决于求解器的类型。Simulink Simulink仿真模块仿真模块通 常,Simulink仿 真 系 统 包 括 输 入(Input)、状 态(states)和 输 出(Output)三个部分。输入模块输入模块:即信号源模块,包括常数字信号源和用户自定义信号;状态模块状态模块:即被模拟的系统模块,是系统建模的核心和主要部分;输出模块输出模块:即信号显示模块,它能够以图形方式、文件格式进行显示。注注意意:在设计一个模型时,必须先确定这三个部分的意义,以及它们之间的联系;Simulink的仿真模型并非一定要完全包括这三个部分,它可以缺少其中一个或者两个;Simulink的状态模块可

7、以是连续的、离散的,或者它们二者的结合。SimulinkSimulink仿真过程仿真过程1初始化阶段初始化阶段 对模型的参数进行估计,得到它们实际计算的值。展开模型的各个层次;按照更新的次序对模型进行排序;确定那些显式化的信号属性,并检查每个模块是否能够接受连接它们输入端的信号;确定所有非显式的信号采样时间模块的采样时间;分配和初始化存储空间,以便存储每个模块的状态和当前值的输出。2模型执行阶段模型仿真是通过数值积分来进行完成的,计算数值积分可以采用以下两步来进行:按照秩序计算每个模块的积分;根据当前输入和状态来决定状态的微分,得到微分矢量,然后把它返回给解法器,以计算下一个采样点的状态矢量。

8、在每一个时间步中,Simulink依次解决下列问题:按照秩序更新模块的输出;按照秩序更新模块的状态;检查模块连续状态的不连续点;计算下一个仿真时间步的时间。5.2.4 Simulink的模块库的模块库Simulink的模块库浏览器提供了各种基本的模块库浏览器提供了各种基本模块,并将它们按照应用领域和功能进行分模块,并将它们按照应用领域和功能进行分类以方便用户查找。类以方便用户查找。5.2.4.1 5.2.4.1 连续模块库连续模块库(Continuous)(Continuous)在连续模块(Continuous)库中包括了常见的连续模块,这些模块如图所示。1.积分模块积分模块(Integrat

9、or):功功能能:对输入变量进行积分。说明:模块的输入可以是标量,也可以是矢量;输入信号的维数必须与输入信号保持一致。2.微分模块微分模块(Derivative)功能:功能:通过计算差分u/t近似计算输入变量的微分。3.线性状态空间模块线性状态空间模块(State-Space)功能:功能:用于实现以下数学方程描述的系统:4.传递函数模块传递函数模块(Transfer Fcn)功能:功能:用执行一个线性传递函数。5.零极点传递函数模块零极点传递函数模块(Zero-Pole)功能:功能:用于建立一个预先指定的零点、极点,并用延迟算子s表示的连续。6存储器模块存储器模块(Memory)功能:功能:保

10、持输出前一步的输入值。7传输延迟模块传输延迟模块(Transport Delay)功能:功能:用于将输入端的信号延迟指定的时间后再传输给输出信号。8可变传输延迟模块可变传输延迟模块(Variable Transport Delay)功能:功能:用于将输入端的信号进行可变时间的延迟。5.2.4.2 5.2.4.2 离散模块库离散模块库(Discrete)(Discrete)离散模块库(Discrete)主要用于建立离散采样的系统模型,包括的主要模块,如图所示。1零阶保持器模块零阶保持器模块(Zero-Order-Hold)功能:功能:在一个步长内将输出的值保持在同一个值上。2单位延迟模块单位延迟

11、模块(Unit Delay)功能:功能:将输入信号作单位延迟,并且保持一个采样周期相当于时间算子z-1。3离散时间积分模块离散时间积分模块(Discrete Time Integrator)功功能能:在构造完全离散的系统时,代替连续积分的功能。使用的积分方法有:向前欧拉法、向后欧拉法、梯形法。4离散状态空间模块离散状态空间模块(Discrete State Space)功能:功能:用于实现如下数学方程描述的系统:5离散滤波器模块离散滤波器模块(Discrete Filter)功能:功能:用于实现无限脉冲响应(IIR)和有限脉冲响应(FIR)的数字滤波器。6离散传递函数模块离散传递函数模块(Di

12、screte Transfer Fcn)功能:功能:用于执行一个离散传递函数。7离散零极点传递函数模块离散零极点传递函数模块(Discrete Zero-Pole)功能:功能:用于建立一个预先指定的零点、极点,并用延迟算子z-1表示的离散系统。8一阶保持器模块一阶保持器模块(First Order Hold)功能:功能:在一定时间间隔内保持一阶采样。5.2.4.3 5.2.4.3 函数与表格模块库函数与表格模块库(Function&Table)(Function&Table)函数与表格模块库(Function&Table)主要实现各种一维、二维或者更高维函数的查表,另外用户还可以根据自己需要创

13、建更复杂的函数。该模块库包括多个主要模块、如图5.7所示。1.一维查表模块一维查表模块(Look-Up Table)一维查表模块(Look-Up Table)实现对单路输入信号的查表和线性插值。2二维查表模块二维查表模块(Look-Up Table 2-D)功功能能:根据给定的二维平面网格上的高度值,把输入的两个变量经过查表、插值,计算出模块的输出值,并返回这个值。说明:对二维输入信号进行分段线性变换。3自定义函数模块自定义函数模块(Fcn)功能:功能:用于将输入信号进行指定的函数运算,最后计算出模块的输出值。说明:输入的数学表达式应符合C语言编程规范;与MATLAB中的表达式有所不同,不能完

14、成矩阵运算。4MATLAB函数模块函数模块(MATLAB Fcn)功能:功能:对输入信号进行MATLAB函数及表达式的处理。说明:模块为单输入模块;能够完成矩阵运算。注意:从运算速度角度,Math function模块要比Fcn模块慢。当需要提高速度时,可以考虑采用Fcn 或者S函数模块。5S-函数模块函数模块(S-Function)功功能能:按照Simulink标准,编写用户自己的Simulink函数。它能够将MATLAB语句、C语言等编写的函数放在Simulink模块中运行,最后计算模块的输出值。5.2.4.4 5.2.4.4 数学模块库数学模块库(Math)(Math)数学模块库(Mat

15、h)包括多个数学运算模块,如图5.8所示。3.矢量的点乘模块矢量的点乘模块(Dot Product)功能:功能:矢量的点乘模块(Dot Product)用于实现输入信号的点积运算。4.增益模块增益模块(Gain)功功能能:增益模块(Gain)的作用是把输入信号乘以一个指定的增益因子,使输入产生增益。1.求和模块求和模块(Sum)功能:功能:求和模块(Sum)用于对多路输入信号进行求和运算,并输出结果。2.乘法模块乘法模块(Product)功功能能:乘法模块(Product)用于实现对多路输入的乘积、商、矩阵乘法或者模块的转置等。5.常用数学函数模块常用数学函数模块(Math Function)

16、功能:功能:用于执行多个通用数学函数,其中包含exp、log、log10、square、sqrt、pow、reciprocal、hypot、rem、mod等。6.三角函数模块三角函数模块(Trigonometric Function)功能:功能:用于对输入信号进行三角函数运算,共有10种三角函数供选择。7.特殊数学模块特殊数学模块 特殊数学模块中包括求最大最小值模块(MinMax)、取绝对值模块(Abs)、符号函数模块(Sign)、取整数函数模块(Rounding Function)等。8.数字逻辑函数模块数字逻辑函数模块 数字逻辑函数模块包括复合逻辑模块(Combinational Logi

17、c)、逻辑运算符模块(Logical Operator)、位逻辑运算符模块(Bitwise Logical Operator)等。9.关系运算模块关系运算模块(Relational Operator)关系符号包括:=(等于)、(不等于)、(小于)、(大于)、=(大于等于)等。10.复数运算模块复数运算模块 复数运算模块包括计算复数的模与幅角(Complex to Magnitude-Angle)、由模和幅角计算复数(Magnitude-Angle to Complex)、提取复数实部与虚部模块(Complex to Real and Image)、由复数实部和虚部计算复数(Real and I

18、mage to Complex)。非线性模块非线性模块(Nonlinear)(Nonlinear)非线性模块(Nonlinear)中包括一些常用的非线性模块,如图5.9所示。1.比率限幅模块比率限幅模块(Rate Limiter)功能:功能:用于限制输入信号的一阶导数,使得信号的变化率不超过规定的限制值。2饱和度模块饱和度模块(Saturation)功能:功能:用于设置输入信号的上下饱和度,即上下限的值,来约束输出值。3量化模块量化模块(Quantizer)功能:功能:用于把输入信号由平滑状态变成台阶状态。4死区输出模块死区输出模块(Dead Zone)功能:功能:在规定的区内没有输出值。5继

19、电模块继电模块(Relay)功能:功能:继电模块(Relay)用于实现在两个不同常数值之间进行切换。6选择开关模块选择开关模块(Switch)功能:功能:根据设置的门限来确定系统的输出。5.2.4.6 5.2.4.6 信号与系统模块库信号与系统模块库(signals&Systems)(signals&Systems)信号与系统模块库(signals&Systems)包括的主要模块如图5.10所示。1.Bus 信号选择模块信号选择模块(Bus Selector)功能:功能:用于得到从Mux模块或其它模块引入的Bus信号。2.混路器模块混路器模块(Mux)功能:功能:把多路信号组成一个矢量信号或者

20、Bus信号。3.分路器模块分路器模块(Demux)功能:功能:把混路器组成的信号按照原来的构成方法分解成多路信号。4.信号合成模块信号合成模块(Merge)功能:把多路信号进行合成一个单一的信号。5.接收接收/传输信号模块传输信号模块(From/Goto)功功能能:接收/传输信号模块(From/Goto)常常配合使用,From模块用于从一个Goto模块中接收一个输入信号,Goto模块用于把输入信号传递给From模块。6初始值设定模块初始值设定模块(IC)功能:功能:初始值设定模块(IC)用于设定与输出端口连接的模块的初始值。5.2.4.7 5.2.4.7 信号输出模块信号输出模块(Sinks)

21、(Sinks)信号输出模块(Sinks)包括的主要模块如图5.11所示。1.示波器模块示波器模块(Scope)功功能能:显示在仿真过程中产生的输出信号,用于在示波器中显示输入信号与仿真时间的关系曲线,仿真时间为x轴。2.二维信号显示模块二维信号显示模块(XY Graph)功功能能:在MATLAB的图形窗口中显示一个二维信号图,并将两路信号分别作为示波器坐标的x轴与y 轴,同时把它们之间的关系图形显示出来。3.显示模块显示模块(Display)功功能能:按照一定的格式显示输入信号的值。可供选择的输出格式包括:short、long、short_e、long_e、bank等。4.输出到文件模块输出到

22、文件模块(To File)功功能能:按照矩阵的形式把输入信号保存到一个指定的MAT文件。第一行为仿真时间,余下的行则是输入数据,一个数据点是输入矢量的一个分量。5.输出到工作空间模块输出到工作空间模块(To Workspace)功能:功能:把信号保存到MATLAB的当前工作空间,是另一种输出方式。6.终止信号模块终止信号模块(Terminator)功能:功能:中断一个未连接的信号输出端口。7.结束仿真模块结束仿真模块(Stop simulation)功能:功能:停止仿真过程。当输入为非零时,停止系统仿真。信号源模块库信号源模块库(Sources)信号源模块库(Sources)包括的主要模块如图

23、5.12所示。1输入常数模块输入常数模块(Constant)功能:功能:产生一个常数。该常数可以是实数,也可以是复数。2信号源发生器模块信号源发生器模块(Signal Generator)功能:功能:产生不同的信号,其中包括:正弦波、方波、锯齿波信号。3从文件读取信号模块从文件读取信号模块(From File)功功能能:从一个MAT文件中读取信号,读取的信号为一个矩阵,其矩阵的格式与To File模块中介绍的矩阵格式相同。如果矩阵在同一采样时间有两个或者更多的列,则数据点的输出应该是首次出现的列。4从工作空间读取信号模块从工作空间读取信号模块(From Workspace)功能:功能:从MAT

24、LAB工作空间读取信号作为当前的输入信号。5随机数模块随机数模块(Random Number)功功能能:产生正态分布的随机数,默认的随机数是期望为0,方差为1的标准正态分布量。6带宽限制白噪声模块带宽限制白噪声模块(Band Limited White Noise)功能:功能:实现对连续或者混杂系统的白噪声输入。7其它模块其它模块 除以上介绍的常用模块外,还包括其模块。各各模模块块功功能能可可通通过过以以下下方方法法查查看看:先进入Simulink工作窗口,在菜单中执行Help/Simulink Help命令,这时就会弹出Help界 面。然 后 用 鼠 标 展 开 Using Simulink

25、Block ReferenceSimulink BlockLibraries就可以看到Simulink的所有模块。5.3建立模型建立模型5.3.1 创建模型创建模型1.模块的操作模块的操作(1)改变大小)改变大小(2)移动)移动(3)复制)复制(4)模块的翻转)模块的翻转(5)修改模块名)修改模块名(7)模块名的翻转)模块名的翻转(6)模块名的显示和隐藏)模块名的显示和隐藏 1)模块选择模块选定操作是许多其它操作(如复制、移动、删除)的前导操作。被选定的模块四个角处出现小黑块,这种小黑块称为柄(handle)。选定单个模块的操作方法:用鼠标指向待选模块,点击鼠标左键即可。选定多个模块的操作方法

26、:方法一:按下【Shift】键,依次为击所需选定的模块;方法二:按住鼠标任一键,拉出矩形虚线框,将所有待选取模块包在其中,然后松开按键,于是矩形里所有模块(包括与连接模块的信号线)均被选中。如图5-13所示。图5-13用矩形框同时选中多个对像 2)模块的复制如果需要几个同样的模块,可以使用鼠标右键单击并拖动基本模块进行拷贝。也可以在选中所需的模块后,使用【Edit】菜单上的【Copy】和【Paste】或使用热键【Ctrl+C】和【Ctrl+V】完成同样的功能。它又分两种不同情形。不同模型窗(包括库窗口在内)之间的模块复制;同一模型窗内的模块复制。3)模块的移动方法:选取中需移动模块,按上鼠标左

27、键将模块拖到合适的地方即可。4)模块的删除在选中待删除模块后,按键盘上的【Delete】键可以完成。5)模块的插入 插入一个模块,只需将这个模块移到线上就可以自动连接。注意这个功能只支持单输入单输出模块。对于其他的模块,只能先删除连线,放置块,然后再重新连线。具体操作如图5-14所示。图5-14 系统模块的插入6)模块大小的改变为改变模块大小,首先选中该模块,待模块柄出现之后,将光标指向适当的柄,按下鼠标并拖动,然后释放。7)模块的旋转缺省状态下的模块总是输入端在左,输出端在右,通过选用【Format:Flip Block】可以将选定模块旋转180;而选用【Format:Rotate Bloc

28、k】可以将选取模块旋转90。8)模块名的操作 修改模块名:点击模块名,将在原名字的四周出现一个编辑框。此时,就可对模块名进行修改。当修改完毕,将光标移出编辑框,点击即结束修改。模块名字体设置:选用菜单【Format:Font】,打开字体对话框后,根据需要设置。改变模块名的位置:移动模块名的另一种方法是:点击模块名,出现编辑框后,可用鼠标拖,如果模块的输入输出端位于其左右两侧,则模块名缺省地位于模块下方;否则位于模块的左外侧。隐藏模块名:点中模块后,选用菜单【Format:Hide Name】,可以隐藏模块名。与此同时,菜单也变为【Format:Show Name】。9)颜色设定:Format菜

29、单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。2.信号线的操作信号线的操作(1)信号线的分支)信号线的分支(2)信号线的折线)信号线的折线(3)信号线的文本注释)信号线的文本注释(4)信号线与模块分离)信号线与模块分离练习练习 改变粗细改变粗细:线所以有粗细是因为线引出的信号可以是标量信号或向量信号,当选中Format菜单下的Wide Vector Lines时,线的粗细会根据线所引出的信号是标量还是向量而改变,如果信号为标量则为细线,若为向量则为粗线。选中Vecto

30、r Line Widths则可以显示出向量引出线的宽度,即向量信号由多少个单一信号合成。设定标签设定标签:只要在线上双击鼠标,即可输入该线的说明标签。也可以通过选中线,然后打开Edit菜单下的Signal Properties进行设定,其中signal name属性的作用是标明信号的名称,设置这个名称反映在模型上的直接效果就是与该信号有关的端口相连的所有直线附近都会出现写有信号名称的标签。线的折弯线的折弯:按住Shift键,再用鼠标在要折弯的线处单击一下,就会出现圆圈,表示折点,利用折点就可以改变线的形状。线的分支线的分支:按住鼠标右键,在需要分支的地方拉出即可以。或者按住Ctrl键,并在要建

31、立分支的地方用鼠标拉出即可。5.3.2 仿真参数的设置图仿真参数的设置图1.仿真器参数设置(仿真器参数设置(Solver)(1)仿真时间()仿真时间(Simulation time)仿真的起始时间(仿真的起始时间(Start time):默认为):默认为0,单位,单位为秒。为秒。(2)仿真步长模式()仿真步长模式(Solver options)(3)Solver diagnostic controls“Solver”:设置仿真解法的具体算法类型。变:设置仿真解法的具体算法类型。变步长的算法有步长的算法有discrete、ode45、ode23、ode113、ode15s、ode23s、ode2

32、3t和和ode23tb,默认使,默认使用用ode45。2.工作空间数据输入输出的设置(工作空间数据输入输出的设置(Data Import/Outport)(1)从工作空间装载数据()从工作空间装载数据(Load from workspace)(2)保存数据到工作空间()保存数据到工作空间(Save to workspace)(3)变量保存设置()变量保存设置(Save options)5.3.3 常用模块的设置常用模块的设置打开参数设置对话框的方法有:打开参数设置对话框的方法有:双击模块;双击模块;或者用鼠标右键单击模块,在快捷菜单中选择或者用鼠标右键单击模块,在快捷菜单中选择“Block P

33、arameters”,各模块的参数对话框最,各模块的参数对话框最上面都显示了模块的功能。上面都显示了模块的功能。1.阶跃信号模块(阶跃信号模块(Step)2.正弦信号模块(正弦信号模块(Sine Wave)3.从工作空间获取数据(从工作空间获取数据(From workspace)和)和从文件获取数据(从文件获取数据(From file)From workspace和和From file分别是从工作空间分别是从工作空间和和MAT文件输入数据,都在文件输入数据,都在“Sources”子模块库子模块库中。中。4.求和模块(求和模块(Sum)Sum模块用来计算信号的和,是模块用来计算信号的和,是“Ma

34、th Operations”子模块库中的。子模块库中的。5传递函数(传递函数(Transfer function)和零)和零极点传递函数(极点传递函数(Zero-Pole)例例5-3 创建一个单位负反馈的二阶系统,创建一个单位负反馈的二阶系统,输入为阶跃信号,将输出送到示波器显示。输入为阶跃信号,将输出送到示波器显示。6.增益(增益(Gain)Gain模块是将信号放大模块是将信号放大K倍,是倍,是“Math Operations”子模块库中的。子模块库中的。7.输出到文件(输出到文件(To File)和输出到工作空)和输出到工作空间(间(To Workspace)8示波器(示波器(Scope)

35、示波器的主要参数有:示波器的主要参数有:Number of axes:示波器的输入端口个数,默认值为:示波器的输入端口个数,默认值为1表示只有一个输入;图表示只有一个输入;图5-24 示波器坐标设置示波器坐标设置Time range:设置显示信号范围,默认:设置显示信号范围,默认auto为仿真时间为仿真时间范围,如果信号实际持续时间超过该范围,则超出范围的信范围,如果信号实际持续时间超过该范围,则超出范围的信号在示波器中不显示;号在示波器中不显示;Limit data points to last:表示缓冲区接收数据的长度,:表示缓冲区接收数据的长度,默认为默认为5000,示波器的缓冲区可接收

36、,示波器的缓冲区可接收30个信号,数据长度个信号,数据长度为为5000,如果数据长度超出,则最早的历史数据会被清除。,如果数据长度超出,则最早的历史数据会被清除。Save data to workspace:把示波器缓冲区中保存的数:把示波器缓冲区中保存的数据以矩阵或结构数组的形式送到工作空间,在下面两栏设置据以矩阵或结构数组的形式送到工作空间,在下面两栏设置变量名变量名“Variable name”和数据类型和数据类型“Format”。9.模块的属性设置模块的属性设置(1)“General”选项卡选项卡(2)调用函数()调用函数(Callbacks)(3)“Block Annotation”

37、选项卡选项卡5.3.4 仿真结构参数化仿真结构参数化例例5-4续续 将单位负反馈二阶系统的参数使用变量将单位负反馈二阶系统的参数使用变量表示,变量的值存放在表示,变量的值存放在“ex7_4_1.m”文件中。文件中。模块参数的三个变量在模块参数的三个变量在“ex7_4_1.m”文件中设置,文件中设置,则文件内容如下:则文件内容如下:%ex7_4_1 设置参数设置参数T1,T2,KT1=1;T2=2;K=-1;使用命令创建和运行使用命令创建和运行Simulink模型模型1.使用命令创建使用命令创建Simulink模型模型new_system(newmodel,option)%创建新模型创建新模型(

38、2)模块和信号线函数)模块和信号线函数add_block(源模块名源模块名,属性名属性名1,属性值属性值1,属性属性名名2,属性值属性值2,)add_line(模块名模块名,起始模块名起始模块名/输出端口号输出端口号,终止模块名终止模块名/输入端口号输入端口号)(3)设置属性)设置属性set_param(对象名对象名,参数名参数名1,参数值参数值1,参数名参数名2,参数值参数值2,)练习练习例例5-5 使用命令创建一个反馈系统的使用命令创建一个反馈系统的Simulink模型。模型。%创建新模型创建新模型 new_system(ex7_5)open_system(ex7_5)%创建模型创建模型

39、set_param(ex7_5,location,100,100,500,400)%设置模型窗口大小设置模型窗口大小%添加模块添加模块 add_block(built-in/Sine Wave,ex7_5/sin,position,40,80,80,120)%设置模块参数设置模块参数 set_param(ex7_5/sin,Amplitude,10)%添加信号线添加信号线 add_line(ex7_5,sin/1,sum/1)add_line(ex7_5,300,100;300,180;105,180;115,105)2.使用命令运行仿真使用命令运行仿真启动模型的仿真可以使用启动模型的仿真可以

40、使用sim函数来完成,使用函数来完成,使用simset函函数可以设置仿真参数,这样模型中的模块参数和仿真参数就数可以设置仿真参数,这样模型中的模块参数和仿真参数就可以随机地设置和修改。可以随机地设置和修改。t,x,y=sim(model,timespan,options,ut)%利用输入参数进行仿真利用输入参数进行仿真说明:说明:model为模型名,其余参数都可以省略;为模型名,其余参数都可以省略;timespan是仿真时间区间,可以使用是仿真时间区间,可以使用t0,tf设置仿真起设置仿真起始时间和终止时间,如果是标量则指终止时间;始时间和终止时间,如果是标量则指终止时间;options参数为

41、模型仿真的相关参数,包括仿真参数和求参数为模型仿真的相关参数,包括仿真参数和求解器的属性;解器的属性;ut为模型的外部输入向量;为模型的外部输入向量;t为仿真时间列向量,为仿真时间列向量,x为状态变量构成的矩阵,为状态变量构成的矩阵,y为输出为输出信号构成的矩阵,每列对应一路输出信号。信号构成的矩阵,每列对应一路输出信号。5.4 Simulink的应用实例的应用实例5.4.1 Simulink在电路中的应用实例在电路中的应用实例例例5-6 根据电路桥电路创建一个根据电路桥电路创建一个Simulink模型,模型,求电路中的电流,电路如图求电路中的电流,电路如图7-30所示,已知电阻所示,已知电阻

42、R=5,Ra=25,Rb=100,Rc=125,Rd=100,Re=37.5,求当直流电源为,求当直流电源为40V时电时电路中的电流。路中的电流。5.4.2 Simulink在数字电路中的应用在数字电路中的应用实例实例例例5-7 创建一个创建一个Simulink模型实现三八模型实现三八译码器的仿真。译码器的仿真。5.4.3 Simulink在控制系统中的应用实例在控制系统中的应用实例 例例5-8 创建一个创建一个Simulink模型使用模型使用PID控控制器控制三阶系统,查看其输出响应。制器控制三阶系统,查看其输出响应。练习练习5.5 模型的调试模型的调试5.5.1 Simulink调试器调试

43、器1.调试器窗口的选项卡调试器窗口的选项卡“Break Points”:用于设置断点,使仿真运行到断点就停止;:用于设置断点,使仿真运行到断点就停止;“Simulation Loop”:包含:包含Method、Breakpoints和和ID三列内容,用三列内容,用于显示各仿真步以及正在运行的相关信息;于显示各仿真步以及正在运行的相关信息;“Outputs”:用于显示调试结果,包括调试命令提示、当前运行模块:用于显示调试结果,包括调试命令提示、当前运行模块的输入、输出和模块的状态;的输入、输出和模块的状态;“Sorted List”:用于显示被调试的模块列表,该列表按模块执行的顺:用于显示被调试

44、的模块列表,该列表按模块执行的顺序排列;序排列;“Status”:用于显示调试器各种选项设置的值以及其他状态信息。:用于显示调试器各种选项设置的值以及其他状态信息。5.5.2 在调试器窗口中调试模型在调试器窗口中调试模型1.单步运行单步运行2.设置断点设置断点(1)无条件断点)无条件断点(2)有条件断点)有条件断点(4)取消断点)取消断点(3)在某个仿真时刻设置断点)在某个仿真时刻设置断点5.6子系统与封装子系统与封装5.6.1 创建子系统创建子系统1.在模型中新建子系统在模型中新建子系统(1)将模型中需要创建成子系统的模块都选中;)将模型中需要创建成子系统的模块都选中;(2)选择菜单)选择菜

45、单“Edit”“Create subsystem”,将选中的模块用,将选中的模块用“Subsystem”模块代替;模块代替;(3)修改子系统名,新建的子系统名默认为)修改子系统名,新建的子系统名默认为“Subsystem”;(4)修改输入输出端口名,新建子系统中的输入)修改输入输出端口名,新建子系统中的输入端口默认名为端口默认名为“In1”、“In2”,输出端口名为,输出端口名为“Out1”、“Out2”,可以修改端口名称。,可以修改端口名称。2.在已有的子系统基础上创建在已有的子系统基础上创建5.6.2 封装子系统封装子系统1.封装子系统的步骤封装子系统的步骤(1)选择需要封装的子系统并双击

46、打开,)选择需要封装的子系统并双击打开,将需要设置的模块参数设置为变量;将需要设置的模块参数设置为变量;(2)选择菜单)选择菜单“Edit”“Mask subsystem”,打开封装对话框,设置,打开封装对话框,设置“Icon”、“Parameters”、“Initialization”和和“Documentation”等等各种参数;各种参数;(3)保存设置。)保存设置。2.封装对话框封装对话框在封装对话框中设置封装子系统的外观、输入参在封装对话框中设置封装子系统的外观、输入参数、初始值和文字说明,封装对话框中有数、初始值和文字说明,封装对话框中有“Icon”、“Parameters”、“In

47、itialization”和和“Documentation”四个选项卡。四个选项卡。5.6.3 定义自己的模块库定义自己的模块库创建模块库的方法是在创建模块库的方法是在Simulink环境中,环境中,选择菜单选择菜单“File”“New”“Library”,则会出现空白的模块库窗口,将模块复制,则会出现空白的模块库窗口,将模块复制到模块库窗口中,并将模块库保存为到模块库窗口中,并将模块库保存为.mdl文文件。件。5.7 S函数的设计与应用函数的设计与应用5.7.1 S函数简介函数简介S函数模块在函数模块在“User-Defined Functions”子模子模块库中,通过块库中,通过“S-Fu

48、nction”模块创建包含模块创建包含S函数的函数的Simulink模型。模型。在在“S-Function name:”中必须填写不带扩展名的中必须填写不带扩展名的S函数文件名,函数文件名,“S-Function parameters:”中填写模块的参数。中填写模块的参数。练习练习模块名的修改是模块名的修改是_A.在参数设置对话框中实现在参数设置对话框中实现B.在模块旁双击鼠标后出现的编辑框中在模块旁双击鼠标后出现的编辑框中实现实现C.在模块的下面或旁边的编辑框中在模块的下面或旁边的编辑框中 D.在模块的属性窗口中设置在模块的属性窗口中设置C练习练习运行以下命令,则实现的功能是运行以下命令,则实现的功能是_ add_line(exe1,300,0;300,80;150,80)A.添加一条直线添加一条直线 B.添加一条有一个转折的折线添加一条有一个转折的折线C.添加一条有两个转折的折线添加一条有两个转折的折线 D.添加一条从左到右的折线添加一条从左到右的折线B练习练习创创建建一一个个具具有有延延迟迟环环节节e-s的的单单位位反反馈馈系系统统,开开环环传传递递函函数数为为 ,当当输输入入阶阶跃跃信信号号时时,查查看看延延迟迟环环节节的的时时间间参参数数对对系系统统输输出出响应的影响。响应的影响。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com