第七章-Simulink仿真
第7章 Simulink的基础应用
第2节 Simulink的操作方法
2.1 Simulink的运行操作
1、运行Simulink的方法 在MATLAB的命令窗口直接键入“simulink”; 利用MATLAB工具条上的Simulink快捷键图标; 在MATLAB菜单中,选择“File-New-Model” 2、打开已存在的模型文件 在MATLAB主窗口中直接键入文件名(不加扩展 名); 在MATLAB菜单中,选择“File-Open-Model” 利用MATLAB工具条上的“打开”图标。
9
第3节 仿真模型的搭建方法与步骤
3.1 构建SIMULINK仿真系统模型 1.打开一个SIMULINK仿真模型窗口。
2.构建一个SIMULINK仿真模型。
3.运行SIMULINK仿真模型 构建好一个系统的模型之后,接下来的事情就是运 行模型,得出仿真结果。运行一个仿真的完整过程 分成三个步骤:设置仿真参数,启动仿真和仿真结
11
3.3 启动仿真启动仿真
设置仿真参数和选择解法器后,可以启动仿真运行。 选择菜单下start选项来启动仿真,如果模型中有些 参数没有定义,则会出现错误信息提示框。否则开始 仿真运行,结束时系统会发出一鸣叫声。
12
【例7-1】观察信号发生器输出波形 具体操作步骤如下: (1)进入SIMULINK,打开一个空白的模型窗口。 (2)打开SIMULINK的Sources模块库,选择Signal Generator(信号发生器)。 (3)打开SIMULINK的Sinks模块库,选择Scope(示波器) 。 (4)连接Signal Generator(信号发生器)模块和Scope(示 波器)模块。
7
5、改变模块大小 用鼠标拖曳模块四周的黑点。 6、模块重新命名 用鼠标单击模块名称即可。 7、改变模块及窗口颜色 使用Format菜单的Foreground Color指令或者 Screen Color 指令。 8、设定模块参数 利用鼠标左键双击模块图标。 9、设定模块属性 选中模块→右键点击Block Properties。 10、设定模块输入、输出信号 模块处理的信号包括标量信号和向量信号。
simulink基本知识
第七章 Simulink基础7.1 Simulink简介Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样频率的系统。
在Simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。
它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。
它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。
Simulink包含有Sinks(输出方式)、Source(输入源)、Linear(线性环节)、Nonlinear(非线性环节)、Connections(连接与接口)和Extra(其他环节)等子模型库,而且每个子模型库中包含有相应的功能模块,用户也可以定制和创建自己的模块。
用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。
用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。
在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。
菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。
采用Scope模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。
除此之外,用户还可以在改变参数后迅速观看系统中发生的变化情况。
仿真的结果还可以存放到MATLAB的工作空间里做事后处理。
模型分析工具包括线性化和平衡点分析工具、MATLAB的许多基本工具箱及MATLAB的应用工具箱。
由于MATLAB和Simulink是集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改。
Simulink具有非常高的开放性,提倡将模型通过框图表示出来,或者将已有的模型添加组合到一起,或者将自己创建的模块添加到模型当中。
matlab教学PPT第7讲MATLAB仿真SIMULINK
第7讲 SIMULINK 图2-18 通过命令启动Simulink仿真
第7讲 SIMULINK
可见,仿真完成之后,工作空间中出现了“ScopeData” 结构变量,其中包含了示波器显示的全部波形数据。通过 “plot”命令可以作出这些数据对应的波形,
组建用户自定义模块库如果建立了许多自定义的子系统并且已经封装好了而这些已经封装的自定义模块又是会反复使用的就像simulink提供的模块库中那些模块一样在这种情况下就有必要对这些自定义的重用性较好的模块进行建库以方便管理和反复使用同时也可以作为新的专业库提供给其他用户使用
第7讲 SIMULINK
第7讲 MATLAB仿真_SIMULINK
第7讲 SIMULINK
• Simulink全方位地支持动态系统的建模仿真,它支持连 续系统、离散系统、连续离散混合系统、线性系统、非 线性系统、时不变系统、时变系统的建模仿真,也支持 具有多采样速率的多速率系统。可以说,在通用系统仿 真领域,Simulink是无所不包的。
• 结合MATLAB编程和Simulink可视化建模仿真各自的特 点,可以构建更为复杂的系统模型,并进行自动化程度 更高的仿真和仿真结果的数据分析,这是MATLAB的高 级应用方面。
第7讲 SIMULINK 图2-15 仿真结果
第7讲 SIMULINK
• 更换信号源为Sources子模块库中的SignalGenerator,并设置 信号源为0.2Hz的方波,幅度为1,如图2-16左边对话框所示。
• 设置示波器显示窗口的属性(Parameters),使之成为双踪 显示,然后将示波器第二输入节点与信号源输出相连,这 样我们就可以同时观察系统的输入输出波形了。系统建模 如图2-16中间窗口所示。
07-交互式仿真工具Simulink [MATLAB与控制系统仿真][张磊,任旭颖]
例7-2-2:Random Number-生成标准分布的随机数,双击该图标后设置其参数。Mean:设置平 均值,默认值是0;Variance:方差,默认值是1(随机数与平均值之间偏差的评价值);Seed: 随机数种子,默认值是0(0-MAX),MATLAB通过种子值确定产生随机数值的算法,固定的 种子产生固定的随机数;Sample time:指定随机数样本之间的时间间隔。默认值是0.1。
Font style Foreground Color backround Color Block Shadow Show Block Name
设置模块字体 设置模块前景颜色 设置模块背景颜色 设置模板阴影 显示模块名称
转向操作(Rotate&Flip)
模块基本操作
MATLAB与控制系统仿真
7.3 Simulink建模与仿真
显示及输出 模块
(1)打开一个空白Simulink模型窗口; (2)进入Simulink浏览库界面,将功能模块由模块库窗口拖拽到模型窗口中;
Hale Waihona Puke (3)按照给定的框图修改编辑窗口中模块的参数;
(4)连接功能模块,构成所需的系统仿真模型;
(5)对仿真模型进行仿真,随时观察仿真结果,如果发现有不正确的地方,可以停止仿真,对参数进行修订;
MATLAB与控制系统仿真
7.3 Simulink建模与仿真
3.Simulink仿真参数的设置
例7-3-2.已知单位负反馈二阶系统的开环传递函数G(s),绘制单位阶跃响应的实验结构,并使用
simulink完成仿真实验。
(1)点击【New Model】,新建一个模型窗口;
G(s)
10 s2 3s
MATLAB与控制系统仿真
第7章SIMULINK仿真操作
Direct Lookup Table (n-D) x
2-D T(u)
Lookup Table (n-D)
xdat y ydat Lookup Table Dynamic
图7-16 查表模块库(Lookup Tables)及其功能说明
(6)User-Defined Functions模块库
u
fcn
图7-15 数学运算模块库(Math operations)及其功能说明
(5)查表模块库(Lookup Tables)
2-D T[k] cos(2*pi*u) Cosine Interpolation (n-D) Lookup Table using PreLookup u k f PreLookup Index Search Sine sin(2*pi*u) Lookup Table (2-D) 2-D T(k,f)
Product
Product of Elements
Real-Imag to Reshape Rounding Complex Function sin -u u+Ts
Slider Gain
Subtract
Sum of Trigonometric Unary Minus Weighted Elements Function Sample Time Math
7.1.1 SIMULINK的窗体介绍
由于SIMULINK是基于MATLAaB环境之上的 高性能系统及仿真平台。 因此,必须首先运行MATLAB,然后才能启 动SIMULINK并建立系统的仿真模型。
图7-1 两种启动SIMULINK方法的图示说明
图7-2 Simulink库浏览器窗口
7.1.2 一个MATLAB/SIMULINK库自带的 演示实例
MATLAB教程_第7章__Simulink仿真
三、模块间的连线
1.连接两个模块 从一个模块的输出端连到另一个模块的输入端是Simulink仿真最 基本的操作。方法是先移动鼠标指向模块的输出端,鼠标的箭头 会变成十字形光标,这时按住鼠标左键,拖动鼠标到另一个模块 的输入端,当十字形光标出现“重影”时,释放鼠标即完成了连 接。
2.模块间连线的调整 用鼠标单击连线,可以选中该连线。这时会看到线上的一些黑色小 方块,这些是连线的关键点。用鼠标按住关键点,拖动即可以改 变连线的方向。
带限白噪声
2.输出模块(Sinks)
模块 Scope Floating Scope XY Graph Outl Display
功能 示波器 可选示波器 XY关系图 创建输出端 实时数值显示
模块 To File To Workspace Terminator Stop Simulation
功能 输出到文件 输出到工作空间 通用终端 输出不为0时停止仿真
一、Solver选项卡
(1)Simulink time 设置仿真起始时间和停止时间。
(2)Solver options 仿真解题器的操作。根据类型(Type)的变化 分为:Variable-step(变步长算法)和Fixedstep(固定步长算法)。
二、Data Import/Export选项卡
7.3 仿真模型的参数设置
选择模型窗口Simulation→Configuration Parameters…选项,将出现仿真参数配置窗口。
仿真参数配置窗口主要分为7个选项卡:Solver(解题 器)、Data Import/Export(数据输入/输出), Optimization(优化)、Diagnostics(诊断)、 Hardware Implementation(硬件工具)、Model Referencing(模型引用)和Real-Time Workshop(实 时工作空间),其中Solver、Data Import/Export和 Diagnostics三项经常用到。
Simulink仿真教程
Simulink仿真教程D3)单击模块库浏览器的新建图标;4)选中模块库浏览器的【File : New Model】菜单项。
所打开的空白模型窗口如图所示。
1.1.2 建立Simulink仿真模型a)打开Simulink模型窗口(Untitled)b)选取模块或模块组在Simulink模型或模块库窗口内,用鼠标左键单击所需模块图标,图标四角出现黑色小方点,表明该模块已经选中。
c) 模块拷贝及删除在模块库中选中模块后,按住鼠标左键不放并移动鼠标至目标模型窗口指定位置,释放鼠标即完成模块拷贝。
模块的删除只需选定删除的模块,按Del键即可。
d)模块调整改变模块位置、大小;改变模块方向:使模块输入输出端口的方向改变。
选中模块后,选取菜单Format→RotateBlock,可使模块旋转900。
e)模块参数设置用鼠标双击指定模块图标,打开模块对话框,根据对话框栏目中提供的信息进行参数设置或修改。
例如双击模型窗口的传递函数模块,弹出图示对话框,在对话框中分别输入分子、分母多项式的系数,点击OK键,完成该模型的设置,如右下图所示:f)模块的连接模块之间的连接是用连接线将一个模块的输出端与另一模块的输入端连接起来;也可用分支线把一个模块的输出端与几个模块的输入端连接起来。
连接线生成是将鼠标置于某模块的输出端口(显一个十字光标) ,按下鼠标左键拖动鼠标置另一模块的输入端口即可。
分支线则是将鼠标置于分支点,按下鼠标右键,其余同上。
操作流程如下:g)模块文件的取名和保存选择模型窗口菜单File → Save as后弹出一个“Save as”对话框,填入模型文件名,按保存(s)即可。
[说明]➢模块的修改、调整、连接通常只能在仿真模型窗口中进行,不要直接对模块库中的模块进行修改或调整。
1.1.3 系统仿真运行1. Simulink模型窗口下仿真步骤a)打开Simulink仿真模型窗口,或打开指定的.mdl文件;b)设置仿真参数:在模型窗口选取菜单【Simulation: Parameters】,弹出“Simulation Parameters”对话框,设置仿真参数,然后按【OK】即可;[说明]若不设置仿真参数,则采用Simulink缺省设置.c)仿真运行和终止:在模型窗口选取菜单【Simulation: Start】,仿真开始,至设置的仿真终止时间,仿真结束。
simulink_matlab仿真教程
simulink matlab 仿真环境教程Simulink 是面向框图的仿真软件。
演示一个Simulink 的简单程序【例1.1】创建一个正弦信号的仿真模型。
步骤如下:(1) 在MATLAB 的命令窗口运行simulink 命令,或单击工具栏中的图标,就可以打开Simulink 模块库浏览器(Simulink Library Browser) 窗口,如图1.1所示。
(2)单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白模型窗口。
(3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。
(4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图1.2所示。
图7.1 Simulink 界面(5) 用同样的方法打开接收模块库“Sinks ”,选择其中的“Scope ”模块(示波器)拖放到“untitled ”窗口中。
(6) 在“untitled ”窗口中,用鼠标指向“Sine Wave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。
如图1.3所示。
(7) 开始仿真,单击“untitled ”模型窗口中“开始仿真”图标,或者选择菜单“Simulink ”——“Start ”,则仿真开始。
SIMULINK仿真基础
2、非连续模块( Discontinuities )
(1)Backlash (2)Coulomb&Viscous Friction (3)Dead Zone (4)Hit Crossing (5)Quantizer (6)Rate Limiter (7)Relay (8)Saturation
18
3、离散模块(Discrete)5SIMULINK仿真基础
在工程实际中,控制系统的结构往往很复 杂,如果不借助专用的系统建模软件,则 很难准确地把一个控制系统的复杂模型输 入计算机,对其进行进一步的分析与仿真。
6
1990年,Math Works软件公司为MATLAB 提供了新的控制系统模型图输入与仿真工具, 并命名为SIMULAB,该工具很快就在控制工 程界获得了广泛的认可,使得仿真软件进入 了模型化图形组态阶段。但因其名字与当时 比较著名的软件SIMULA类似,所以1992年 正式将该软件更名为SIMULINK。
10
所谓模型化图形输入是指SIMULINK提供了一 些按功能分类的基本的系统模块,用户只需要 知道这些模块的输入输出及模块的功能,而不 必考察模块内部是如何实现的,通过对这些基 本模块的调用,再将它们连接起来就可以构成 所需要的系统模型(以.mdl文件进行存取), 进而进行仿真与分析。 SIMULINK的最新版本是SIMULINK5.0(包含 在MATLAB7.0里),MATLAB6.5里的版本为 4.0版,它们的变化不大。
13
三、SIMULINK的模块库介绍
14
SIMULINK模块库按功能进行分类,包括以 下12类子库:
1、Continuous(连续模块) 2、Discontinuities(非连续模块) 3、Discrete(离散模块) (Logic and Bit Operations(逻辑和位操作模 块)—simulink5.0) 4、Look-up Tables(查找表模块) 5、Math Operations (数学模块) (Model Verification(模型检测)—simulink5.0) 15
SIMULINK仿真参数的设置
ode23tb:是TR-BDF2的一种实现, TR-BDF2 是具有两个阶段的隐 式龙格-库塔公式。
discrtet:当Simulink检查到模型没有连续状态utput:这个选项可以理解成精细输出,其意义是在仿真输出太 稀松时,simulink会产生额外的精细输出,这一点就像插值处理一样。 用户可以在refine factor设置仿真时间步间插入的输出点数。
产生更光滑的输出曲线,改变精细因子比减小仿真步长更有效。
精细输出只能在变步长模式中才能使用,并且在ode45效果最好。
选择Simulink菜单下的start选项来启动仿真,如果模型中有些参数 没有定义,则会出现错误信息提示框。如果一切设置无误,则开 始仿真运行,结束时系统会发出一鸣叫声。
除了直接在SIMULINK环境下启动仿真外,还可以在MATLAB命 令窗口中通过函数进行,格式如下:
[t,x,y]=sim(‘模型文件名’,[to tf],simset(‘参数1’,参数值1,‘参数2’,参 数值2, …))
除了上述3个主要的页外,仿真参数设置窗口还包括real-time workshop 页,主要用于与C语言编辑器的交换,通过它可以直接从SIMULINK 模型生成代码并且自动建立可以在不同环境下运行的程序,这些环境 包括实时系统和单机仿真。
二、启动仿真
设置仿真参数和选择解法器之后,就可以启动仿真而运行。
Save to workspace:用来设置存往MATLAB工作空间的变量类型和变 量名,选中变量类型前的复选框使相应的变量有效。一般存往工作空 间的变量包括输出时间向量(Time)、状态向量(States)和输出变量 (Output)。 Final state用来定义将系统稳态值存往工作空间所使用的 变量名。
第七讲 Simulink仿真
在MATLAB的命令窗口直接键入 命令simulink; 用鼠标左键单击MATLAB工具条 上的按钮; 在MATLAB菜单上选择【File】| 【New】|【Model】选项
8
7.2.2
Simulink的工作环境
9
7.3 模型的创建
7.3.1
Simulink的基本模块 7.3.2 模块操作 7.3.3 模块连接 7.3.4 模块的参数和属性设置
Variable Step:可变步长类算法, 在仿真过程中可以自动调整步长, 并通过减小步长来提高计算的精 度。
Fixed Step:固定步长类算法,在 仿真过程中采取基准采样时间作为 固定步长。
22
算法名称ቤተ መጻሕፍቲ ባይዱ
算 法 说 明 基于显式 Runge-Kutta(4,5)和 Dormand-Prince 组合的算法,是一种一步算法, 即只要知道前一时间点的解, 就可以立即计算当前时间点的方程解。 对大多数仿真
仿真实例 步骤:
打开一个名为untitled 的模型编辑窗口。 将所需模块添加到模型 中。 用连线将各个模块连接 起来组成系统仿真模型。 设置模块参数并连接各 个模块组成仿真模型。
5
7.1 初识Simulink
设置系统仿真参数。 运行仿真模型,查看 结果。
6
7.2
Simulink概述
23
7.4.2 仿真参数设置
启动仿真
完成仿真参数的设置后,就可以开始仿真。确认待 仿真的仿真平台窗口为当前窗口,选择菜单选项 【Simulation】| 【Run】或点击工具栏中的【Run simulation】图标启动仿真。
simulink电路仿真
4. 模型图的优化 ①模块的翻转:在format命令中选flip block项,对 选中的模块翻转,选rotate block项对选中的模块旋 转90度。 ②信号线分叉:按住键,用鼠标左键点击需要分叉的 连线接点,拖动鼠标,连接到目的端点。 ③模型图的标注:模块的标注,双击模块原有的标注, 直接修改。连线的标注,双击需要标注的连线,在文 本框内进行标注。模型图的标注,在需要标注的任意 位置,双击鼠标左键,在出现的文本框内进行标注。 标注的位置和内容可以调整、隐藏(format|hide name format|show name)和翻转(format|flip name)。
simulink电路仿真
(3)示波器的参数设置 单击 图标将弹出“示波器参数设置
(‘Sope’Parameters)”对话框
simulink电路仿真
simulink电路仿真
“General”选项卡中各个选项的含义如下: ①“Number of axes ”文本框:用于设置轴的个数, 可以用于实现对多个输入信号的显示。 ②“Time range ”文本框:用于设置X 轴(即时间轴) 的显示范围。 ③“Sampling ”下拉列表:当在该下拉列表选择 “Decimation”选项时可设置显示频度,如其设为n, 则每隔n-1 个数据点都给予显示。如果选“Sample time”可设置显示点采样时间,如果为0表示显示连续 信号,-1表示显示方式取决于输入信号,任何大于零 的数据表示显示离散信号的时间间隔。 ④ “Floating scope”复选框:若选中该复选框,则 表示示波器以游离方式工作。
simulink电路仿真
3. 仿真控制设置 Solver页 simulation—configuration…--solver
simulink仿真参数设置
1.变步长(Variable—Step)求解器可以选择的变步长求解器有:ode45,ode23,ode113,odel5s,ode23s和discret.缺省情况下,具有状态的系统用的是ode45;没有状态的系统用的是discrete.1)ode45基于显式Runge—Kutta(4,5)公式,Dormand—Prince对.它是—个单步求解器(solver)。
也就是说它在计算y(tn)时,仅仅利用前一步的计算结果y(tn-1).对于大多数问题.在第一次仿真时、可用ode45试一下.2)ode23是基于显式Runge—Kutta(2,3).Bogackt和Shampine对.对于宽误差容限和存在轻微刚性的系统、它比ode45更有效一些.ode23也是单步求解器.3)odell3是变阶Adams-Bashforth—Moulton PECE求解器.在误差容限比较严时,它比ode45更有效.odell3是一个多步求解器,即为了计算当前的结果y(tn),不仅要知道前一步结果y(tn-1),还要知道前几步的结果y(tn-2),y(tn-3),…;4)odel5s是基于数值微分公式(NDFs)的变阶求解器.它与后向微分公式BDFs(也叫Gear方法)有联系.但比它更有效.ode15s是一个多步求解器,如果认为一个问题是刚性的,或者在用ode45s时仿真失败或不够有效时,可以试试odel5s。
odel5s是基于一到五阶的NDF公式的求解器.尽管公式的阶数越高结果越精确,但稳定性会差一些.如果模型是刚性的,并且要求有比较好的稳定性,应将最大的阶数减小到2.选择odel5s求解器时,对话框中会显示这一参数.可以用ode23求解器代替。
del5s,ode23是定步长、低阶求解器.5)ode23s是基于一个2阶改进的Rosenbrock公式.因为它是一个单步求解器,所以对于宽误差容限,它比odel5s更有效.对于一些用odel5s不是很有效的刚性问题,可以用它解决.6)ode23t是使用“自由”内插式梯形规则来实现的.如果问题是适度刚性,而且需要没有数字阻尼的结果,可采用该求解器.7)ode23tb是使用TR—BDF2来实现的,即基于隐式Runge—Kutta公式,其第一级是梯形规则步长和第二级是二阶反向微分公式.两级计算使用相同的迭代矩阵.与ode23s相似,对于宽误差容限,它比odtl5s更有效.8)discrete(变步长)是simulink在检测到模型中没有连续状态时所选择的一种求解器.2.定步长(Flxed—Step)求解器可以选择的定步长求解器有:ode5,ode4,ode3,ode2,ode1和discrete.1)ode5是ode45的一个定步长版本,基于Dormand—Prince公式.2)ode4是RK4,基于四阶Runge—Kutta公式.3) ode3是ode23的定步长版本,基于Bogacki-Sbampine公式.4) ode2是Heun方法,也叫作改进Euler公式.5) odel是Euler方法.6) discrete(定步长)是不执行积分的定步长求解器.它适用于没有状态的模型,以及对过零点检测和误差控制不重要的模型.3.诊断页(Diagnostics)可以通过选择Simulation Parameters对话框的Diagnostics标签来指明在仿真期间遇到一些事件或者条件时希望执行的动作.对于每一事件类型,可以选择是否需要提示消息,是警告消息还是错误消息.警告消息不会终止仿真,而错误消息则会中止仿真的运行.(1)一致性检查一致性检查是一个调试工具.用它可以验证Simulink的0DE 求解器所做的某些假设.它的主要用途是确保s函数遵循Simulink内建模块所遵循的规则.因为一致性检查会导致性能的大幅度下阵(高达40%),所以一般应将它设为关的状态.使用一致性检查可以验证s函数,并有助于确定导致意外仿真结果的原因.为了执行高效的积分运算,Simulink保存一些时间步的结果,并提供给下一时间步使用.例如,某一时间步结束的导数通常可以放下一时间步开始时再使用.求解器利用这一点可以防止多余的导数运算.一致性检查的另一个目的是保证当模块被以一个给定的t(时间)值调用时.它产生一常量输出.这对于刚性求解器(ode23s和odel5s)非常重要,因为当计算Jacobi行列式时.模块的输出函数可能会被以相同的t值调用多次.如果选择了一致性检查,Simulink 置新计算某些值,并将它们与保存在内存中的值进行比较,如果这些值有不相同的,将会产生一致性错误.Simulink比较下列量的计算值:1)输出;2)过零点3)导数;4)状态.(2)关闭过零点检测可以关闭一个仿真的过零点检测.对于一个有过零点的模型,关闭过零点检测会加快仿真的速度,但是可能影响仿真结果的精度.这一选项关闭那些本来就有过零点检测的模块的过零点检测.它不能关闭Hir crossing模块的过零点检测.(3)关闭优化I/O存储选择该选项,将导致Simulink为每个模块约I/()值分配单独的缓存,而不是重新利用援存.这样可以充分增加大模型仿真所需内存的数量.只有需要调试模型时才选择该选项.在下列情况下,应当关闭缓存再利用;1)调试一个C-MEX S-函数;2)使用浮点scope或display模块来察看调试模型中的信号.如果缓存再利用打开,并且试图使用浮点scope或display模块来显示缓存已被再利用的信号,将会打开一个错误对话框.(4)放松逻辑类型检验选择该选项,可使要求逻辑类型输入的模块接受双精度类型输入.这样可保证与Simulink 3版本之前的模型的兼容性.4.提高仿真性能和精度仿值性能相精度由多种因素决定,包括模型的设计和仿真参数的选择.求解器使用它们的缺省参数值可以使大多数模型的仿真比较精确有效,然而,对于一些模型如果调整求解器相仿真参数将会产生更好的结果.而且,如果对模型的性能比较熟悉,并且将这些信息提供给求解器,得到的仿真效果将会提高。
第七章Simulink仿真案例
7.1 Simulink基础
• 1.启动Simulink的两种方法: • a.通过点击工具栏 “ ” 图标启动; • b.在MATLAB命令窗口输入simulink然后点 击回车键启动。 • 打开的Simulink Library Browser
2. Simulink模块库浏览器
名称 Commonly Used Blocks Continuous Discontinuities Discrete Logic and Bit Operations Lookup Tables Math Operations Model Verification Model-Wide Utilities Ports & Subsystems Signal Attributes Signal Routing Sinks Sources User-Defined Functions Additional Math & Discrete 描述
• 通过Subsystem模块创建子系统,可以按照下面 步骤: • (1) 打开Simulink模块库,将Ports & Sybsystems 模块库中Subsystem模块拖入模型窗口; • (2) 双击Subsystem模块,打开Subsystem窗口; • (3) 把要组合的模块拖入Subsystem窗口内,然后 在窗口中加入Inport模块表示从子系统外部到内部 的输入,加入Output模块表示从子系统内部到外 部的输出,把这些模块按顺序连接起来,子系统 建立。
• 例7.9 PID控制器是在自动控制中经常使用的模块 ,在工程应用中其标准的数字模型为
U (s) K p (1 Td s 1 ) E ( s) Ti s 1 Td s / N
《MATLAB Simulink与控制系统仿真(第4版)》的课件 第7章 频域分析法
极坐标图(Nyquist图)
7.3.2 对数坐标图(Bode图)
Bode图的优点可概括如下: (1)将幅值相乘化为对数相加运算,大大简化了系统频率特性 的绘制工作。 (2)由于横轴采用了对数分度,缩小了比例尺,从而扩大了频 率视野,可以在较大的频段范围内表示系统频率特性。在一张 Bode图上,既画出了频率特性的中、高频段,又能清楚地画出其 低频段,在分析和设计系统时,低频段特性也是非常重要的。 (3)可以绘制渐近的对数幅频特性;也可以制作标准样板,画 出精确的对数频率特性。
第7章 频域分析法
7.1 引言 7.2 频率特性基本概念 7.3 频率特性的表示方法 7.4 系统开环频率特性作图 7.5 频率响应分析 7.6 MATLAB在频率法中的应用 7.7 频率法的稳定性分析 7.8 综合实例及MATLAB/SIMULINK应用 习题
内容提要
控制系统的频率特性反映的是系统对正弦输入信号的 响应性能。频域分析法是一种图解分析法,它依据系 统频率特性对系统的性能(如稳定性、快速性和准确 性)进行分析。
频域分析法的突出优点是可以通过试验直接求得频率 特性来分析系统的品质,应用频率特性分析系统可以 得出定性和定量的结论,并具有明显的物理含义。
对数幅相图(Nichols图)
7.3.3 对数幅相图(Nichols图)
对数幅相图也称Nichols图,它是将对数幅频特性和相频特性两张图在角频率 为参变量的情况下合成为一张图。
第七章Simulink基础
Dead Zone Dynamic
Rate Limiter Dynamic
Backlash
Relay
Quantizer
Hit Crossing
Coulomb & Viscous Friction
Wrap To Zero
7.5 Simulink子系统
一、Simulink子系统简介
Simulink提供的子系统功能可以大大地增强Simulink系统框图的可读性,可 以不必了解系统中每个模块的功能就能够了解整个系统得框架。子系统可以 理解为一种“容器”,我们可以将一组相关的模块封装到这个子系统模块当
1 Gain
1 Slider Gain |u| Product Divide eu Math Function t Sine Wave Function Product of Elements floor Rounding Function
f (z)
Dot Product P(u) O(P) = 5 Polynomial
Repeating Sequence Interpolated
Counter Free-Running
Counter Limited
12:34 Clock Digital Clock
7.4 Simulink模块库
二、连续系统模块库
Continuous-Time Linear Systems
1 s Integrator x' = Ax+Bu y = Cx+Du State-Space 1 s+1 Transfer Fcn du/dt Derivative (s-1) s(s+1) Zero-Pole
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 方法1: • 解:将微分方程改写为
x 0 . 2 u ( t )0 . 40 x . 2 x
x 0 . 2 u ( t )0 . 40 x . 2 x
图形窗口属性设置
最终仿真结果
• • • • • • • • • • • • • • •
% EXAMP070031 % (从工作空间加载数据). t=simout.x.Time(:); %输入信号标线为x x=simout.x.Data(:); % (在变量x中寻找最大值). [xm,km]=max(x); % (绘制最终结果图形). plot(t,x) hold on % (标注x的最大值位置). plot(t(km),xm,'ro','markersize',15,'linewidth',2); hold off grid on title('仿真结果')
示波器属性设置窗口
正弦信号模块属性设定
系统运行结果
练一练
• 如何产生余弦信号? • 如何产生振幅为3的余弦信号? • 如何产生振幅为3、周期为4的余弦信号?
例7.2 用Simulink模拟chirp信号和正弦信号叠加的信号输出。
Chirp Signal模块属性设置
Sine Waimulink的两种方法: • a.通过点击工具栏 “ ” 图标启动; • b.在MATLAB命令窗口输入simulink然后点 击回车键启动。 • 打开的Simulink Library Browser
2. Simulink模块库浏览器
名称 Commonly Used Blocks Continuous Discontinuities Discrete Logic and Bit Operations Lookup Tables Math Operations Model Verification Model-Wide Utilities Ports & Subsystems Signal Attributes Signal Routing Sinks Sources User-Defined Functions Additional Math & Discrete 描述 常用模块库 连续信号模块库 不连续信号模块库 离散信号模块库 逻辑和位操作模块库 查表模块库 数学运算模块库 模型确认模块库 模型工具模块库 端口和子系统模块库 信号贡献模块库 信号传输模块库 信号接收器模块库 信号源模块库 用户定义函数模块库 附加数学和离散模块库
4. Simulink模型窗口
• 模型窗口含有菜单栏、工具栏、编辑框和状态栏等部分
5. Simulink建模仿真示例
• • • • • • 例7.1 用Simulink模拟正弦信号产生与输出。 创建Simulink的步骤: (1) 创建新模型界面 (2) 添加正弦信号产生模块和波形显示模块 (3) 模块属性设置 (4) 运行仿真系统
第七章 Simulink仿真
• • • • 7.1 Simulink基础 7.2 Simulink模型操作和仿真系统设置 7.3 系统建模实例 7.4 仿真系统中的子系统
• Simulink是MATLAB软件的一个软件包,能 够对动力学系统进行建模、仿真以及各种分 析。Simulink仿真模拟支持完全的图形化界 面。 • Simulink提供了图形用户界面,使得构建模 型变的更直观、简单,只需要鼠标的点击与 拖放。Simulink模块是分层次结构的,为用 户寻找需要的模块提供了方便,提高了工作 效率。所以Simulink是MATLAB软件一个非 常重要的组成部分。
( 0 ) 2 , x ( 0 ) 2 • 初始条件为 x
3. Commonly Used Blocks模块库
常用模块库中模块
模块名称 Bus Creator Bus Selector Constant Data Type Conversion Delay Demux Discrete-Time Integrator Gain Ground In1 Integrator Logical Operator Mux Out1 Product Relational Operator Saturation Scope Subsystem Sum Switch Terminator Vector Concatenate 母线产生器 母线选择器 常数 数据类型转换 延迟 拆分信号 离散时间积分器 增益 接地 输入 积分器 逻辑算符 合并信号 输出 相乘 关系算符 饱和度 示波器 子系统 求和 开关 终端 矢量连接 描述
属性设置窗口
示波器属性设置
示波器结果图
练一练
• 仿真正弦信号与chirp信号相乘的波形图, 示波器同时观察三个波形。
• 例7.3 现有一待显示图形函数为
f(x )2 * s i nx e
12 x 2
1 2 x 2
• 现需要在同一示波器中分别显示 s in x , e 和 f ( x ) 曲线。
方法2:
0.2 • 解:传输函数 2 s 0.2s 0.4
• 方法3:状态空间模型 • >>G=tf([0.2],[1 0.2 0.4]) • >>G1=ss(G)
,
试一试
• 借助Simulink仿真求解微分方程 2 x 1 0 ( 1 x ) xx 1 0 s i n ( 2 t )
作业:
• 请借助Simulink工具完成将摄氏度转换为华 氏度,公式如下:
9 T f Tc 32 5
7.2 Simulink模型操作和仿真系统设置
• • • • 7.2.1 Simulink模型操作 操作模块 操作连线 7.2.2 Simulink仿真系统设置
7.3 系统建模实例
0 . 2 x 0 . 4 x 0 . 2 u ( t ) • 例7.4 借助积分器求微分方程 x • 其中u ( t ) 为单位阶跃函数。