第八章-SIMULINK基础(1)
Simulink基础
Simulink的使用
启动Simulink
Simulink库
源节点库 正弦波模块
MATLAB在通信中的应用
Simulink的使用
MATLAB在通信中的应用
Simulink的模块库浏览器
模块搜索 模块描述
系统模块
系统模块库
MATLAB在通信中的应用
Simulink的公共模块库
连续系统模块库 连续系统模块库 离散系统模块库 离散系统模块库 函数与表库 函数与表库 数学运算库 数学运算库 非线性系统模块库 非线性系统模块库 信号与系统模块库 信号与系统模块库
Communications Blockset
CDMA Reference Blockset CDMA Nonlinear Control Design Blockset Motorola DSP Developer’s Kit TI DSP Developer’s Kit
通讯系统工具包
CDMA通讯系统设计和分析工具包 非线性控制设计工具箱 Motorola DSP开发工具箱 TI DSP开发工具箱
2 离散模块库(Discrete)
模块功能说明:
模块功能说明:
线性离散系统的传递函数描述
线性离散系统的传递函数描述
线性离散系统的零极点模型描述
线性离散系统的零极点模型描述
线性离散系统的滤波器描述 线性离散系统的滤波器描述 线性离散系统的状态空间描述 线性离散系统的状态空间描述
离散时间积分器 离散时间积分器 离散信号的一阶保持器 离散信号的一阶保持器 单位延迟
MATLAB在通信中的应用
我们可以使用Simulink建立什么模型? Simulink的应用领域示意图
答:任何需要数学手段建立的系统。
simulink课件
返回
Sources 库(续)
Signal Generator(信号发生 器) Sine Wave(正弦波)
返回
Step(阶跃)
Uniform Random Number(均匀分布随机数)
Sinks 库
Display(显示) Scope(示波器)
返回
Stop Simulation(停止仿真)
To File(写入文件)
可以得到:
G( s)
X ( s) 0.2 2 U ( s) s 0.2s 0.4
例8.3-1
例功能强大的应用工具箱。 我们常用工具箱有 SIMULINK、COMM、DSP 等。
MATLAB 5.3 版中的 16 种工具箱
8.2 模型的创建和模型文件
8.2.2 SIMULINK 模型的创建 创建模型文件; 选择对象; 模块的操作; 连线的操作; 对模型的注释; 常用的Source库信源 常用的Sink库信宿 仿真的配置
8.3 连续系统建模
线性系统建模举例 例8.3-1:复位积分器的功用示例。 在仿真启动时,积分器从零开始对 0.5 t 进行积分。当复位口 信号 t-5=0 瞬间,积分器被重置为零。此后,再对0.5 ( t-5 ) 进行积分。 例8.3_2:积分模块直接构造微分方程求解模型。 假设从实际自然界(力学、电学、生态等)或社会中,抽象 u 出有初始状态为0的二阶微分程 x 0.2 x 0.4 x 0.2u (t ) ,(t ) 是单位阶跃函数。本例演示如何用积分器直接构搭求解该微 分方程的模型。 例8.3_3:直接利用传递函数模块求解方程。 对二阶微分程进行拉氏变换: s 2 X (s) 0.2sX (s) 0.4 X (s) 0.2U (s)
simulink使用基础
MATLAB计算单元的基本操作
❖若
A
1 4
2 5
3 6
1 B 0
2 ,则
3
2 1
❖ >> C=A*B = 7 11
❖
16 29
2020年3月11日星期三
基于MATLAB/SIMULINK的系统建模与仿真
MATLAB计算单元的基本操作
❖如果矩阵A为方阵,A的p次方可以 用A^p表示。如果p是一个正整数, 那么这个幂可以由矩阵的连续相乘 定义。当p=0时,其结果为与A相 同的矩阵;当p<0时,只有在A的 逆存在时才可定义A^p,其意义为 inv(A)^(-p)。
❖若
1 2 A 1 5
7 2 B 1 0
❖则 ❖ >>A.*B= ❖7 4 ❖-1 0 ❖ >>B./A= ❖7 1 ❖-1 0
% 矩阵对应元素相乘 % 矩阵对应元素相除
2020年3月11日星期三
基于MATLAB/SIMULINK的系统建模与仿真
MATLAB计算单元的基本操作
南京航空航天大学
基于MATLAB/SIMULINK的系 统建模与仿真
任课教师:刘燕斌 二○一一年三月
Simulink的使用基础
1.MATLAB的计算单元:向量与矩阵
MATLAB作为一个高性能的科学计算平 台,主要面向高级科学计算。MATLAB的 基本计算单元是矩阵与向量,向量为矩 阵的特例。一般而言,二维矩阵为由行、 列元素构成的矩阵表示;对于m行、n列
基于MATLAB/SIMULINK的系统建模与仿真
MATLAB计算单元的基本操作
❖ ❖
【例2.1】
若
A
Simulink基本操作
Simulink基本操作(2014.5 兰交大萌芽)Simulink是MATLAB软件所带的软件仿真工具。
其强大的功能几乎可以满足所有的系统仿真。
要掌握基本的仿真操作,必须认识仿真各个模块的英文名称。
其实记住图形是干嘛的即可。
说实话在运用外语软件时,英语真是个让人头疼的问题。
不过,得必须记住的是,在任务/现实面前,只能向前迈步。
下面我们介绍Simulink的基本操作,以截图为主。
一、1.打开MATLAB软件,点击Simulink按钮,进入Simulink仿真界面。
点击进入simulink2.新建*-mdl文件。
也可以打开已有的*-mdl文件进行编辑或仿真。
点击新建3.出现*-mdl界面。
现在进可以编辑机构框图了。
4.完成后,点击运行按钮,同时保存文件位置,注意文件地址要明确。
运行按钮Simulink给我们的基本模块结构很多,都在Simulink library browser窗口中。
其中有基本模块和专业模块。
常用基本模块。
二、下面,我们举例说明其简单的使用说明。
以下图为例。
该图为计算机控制系统的最少拍有纹波控制系统。
1.首先,添加各模块,同时修改其参数值,还可以边添加连线。
2.右键点击Add to …即可添加模块到*-mdl文件中。
点击右键点击我们可以改变其位置和大小。
3.再依次添加这两个。
发现在*-mdl文件中出现以下现象,不要着急!4.这时我们可以把他们移开(点击一个,拉开,再点击一个,拉开)同时放大合适的比例。
5.修改其属性的选中模块,双击打开。
比如Sum修改点击ok 得到6.双击Mux,在option中选择signals 点击ok,得连线鼠标放在箭头处,拉动,放入入口箭头处即可。
7.题目里出现两个相同模块的,可以进行复制、粘贴。
得到两个模块后在进行属性和参数的修改8.接着进行别的模块添加工作。
9.模块添加完成。
进行属性和参数设置,得到注;为了能让大家看的清楚些,我把布局缩小了,在自己实验仿真时,完全可以放开成大窗口,将模块放大,更清晰明了,不要小家子气。
第八章-SIMULINK基础
①打开模型编辑窗口;
首先打开一个模型编辑窗口,这可以单击 Simulink 工 具栏中新模型的图标或选择菜单项实现。
②复制相关模块;
将相关的模块组中的模块拖动到此窗口中
③修改模块参数; ④模块连接; ⑤系统仿真研究;
2013-7-16 同济大学电子与信息工程学院 19
5.2.2 仿真算法与控制参数选择
Simulink 建模方法简介
考虑图中给出的典型非线性反馈系统框图,其中控 制器为 PI 控制器,其模型为:
2013-7-16
同济大学电子与信息工程学院
17
2013-7-16
同济大学电子与信息工程学院
18
Simulink 是解决这样问题的最有效 的方法,可以用下面的步骤搭建此系 统的仿真模型:
2013-7-16 同济大学电子与信息工程学院 20
④在仿真时还可以选定最大允许的步长和最小允许的步长, 这可以通过填写 Max step size 栏目和 Min step size 的值来实现, 如果变步长选择的步长超过这个限制则将弹出警告对话框。 ⑤一些警告信息和警告级别的设置可以从其中的 Diagnostics 标签下的对话框来实现,具体方法在这里就不赘述了。
2013-7-16 同济大学电子与信息工程学院 2
SIMULINK简介
一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的 一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口 是基于Windows的模型化图形输入,其结果是使得用户可以把更多的 精力投入到系统模型的构建,而非语言的编程上。 所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的 系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不 必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它 们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取), 进而进行仿真与分析。
Simulink基础
面向通信信号处理的SIMULINK®建模与仿真Simulink基础知识课程概要Simulink基础模块的操作与参数的设置创建子系统与封装子系统Simulink与MATLAB 工作区的接口 通过命令行仿真Simulink调试Simulink基础用一些块组成的图形界面代表系统使用一计算引擎,通过时间步长步进系统f信号传递f块的输出计算使用MATLAB 工作区参数与MATLAB 工作区有接口,可交换系统的输入、输出数据启动Simulink使用模块库库块块描述块查找收集和连接所需各块用拖放操作收集模块使用鼠标左键连接模块自动连接1.选择开始块2.按下Ctrl 键3.选择目标块拷贝和插入模块右键拖放模块进行拷贝把模块放在连线上完成插入设置模块参数双击块打开参数设置对话框选择应用或确定按钮——连线分支和连线改动在连线上右键并拖动引出分支在连线上左键拖动改动连线信号组合Simulink可以完成向量和矩阵数据的传递.使用MUX 模块把几个标量组合成一个向量.可用Wide NonscalarLines 和SignalDimensions 菜单选项配合向量使用.>> vectors仿真运行点击PLAY 按钮运行框图仿真双击示波器观察结果框图的缩放从View 菜单下选择Zoom 按空格键充满可视区单击块的名字进行选择和编辑f命名可由多行组成可把名字拖放到模块的另一侧使用Format 菜单隐藏名字框图注释在背景空白处双击生成文本框键入文本右键点击文本改变字体、大小和对齐方式左键点击拖动改变位置双击信号线并添加标签左键点击并在信号线上移动 若是移往其它地方则标签自动回到信号线上信号标签的传递信号标签可以越过不改变信号的模块键入“<”代表要传递的信号标签更新框图标签只在信号前进的方向上传递修改块拖动块的一角改变其大小 使用上下文菜单改变块的颜色f右键单击块f改变背景和前景的颜色改变位置/方向按Shift键并单击拖动以取消连接Ctrl-I 翻转Ctrl-R 旋转90度向量和矩阵模块参数可以是实数或复数向量>> vector_gainSimulink也可以使用矩阵数据>> matrix_gain创建子系统选择要封装的区域(左键在背景区域上拖放)在Edit菜单下选择:“Create Subsystem”输入和输出使信号可以在子系统和父系统之间传递 输入和输出模块的名字反映在子系统上 顺序标号封装子系统自定义块并带有自定义图标用户双击图标时显示对话框可以给自定义块加帮助有自己的工作区这样能够帮助用户向子系统中传递参数屏蔽不需要用户看到的细节“隐藏”那些不需要过多展现的内容保护块的内容被那些头脑简单的人的篡改封装一个子系统右键单击子系统,选择‘Mask Subsystem’.>> population_grouped图标编辑器一些图标图形 图象文本对话框参数封装子系统的工作空间f MATLAB工作空间的参量不再可见传递参量给子系统封装过的工作区子系统可以比作脚本f没有输入参数f使用MATLAB 工作区中的变量封装过的子系统可以比作函数f通过对话框输入参数f不能使用MATLAB 工作区变量f它包含的变量对于其他子系统不可见通过分离工作区,用户可以在同一个模型中使用多个同样的子系统,对于同一个变量它们可以有不同的值。
MATLAB-Simulink基础
MATLAB-Simulink基础§1Simulink简介Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样频率的系统。
在Simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。
它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。
它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。
Simulink包含有Sink(输出方式)、Source(输入源)、Linear(线性环节)、Nonlinear(非线性环节)、Connection(连接与接口)和E某tra(其他环节)等子模型库,而且每个子模型库中包含有相应的功能模块,用户也可以定制和创建自己的模块。
用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。
用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。
在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。
菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。
采用Scope模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。
除此之外,用户还可以在改变参数后迅速观看系统中发生的变化情况。
仿真的结果还可以存放到MATLAB的工作空间里做事后处理。
模型分析工具包括线性化和平衡点分析工具、MATLAB的许多基本工具箱及MATLAB的应用工具箱。
由于MATLAB和Simulink是集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改。
Simulink具有非常高的开放性,提倡将模型通过框图表示出来,或者将已有的模型添加组合到一起,或者将自己创建的模块添加到模型当中。
simulink基础
B
Revolute D Ground D
工程软件训练
3.Neural Network Tool al Network Blockset节点上,通过单击鼠标右 键后,便可打开如图所示的Neural Network Blockset模块集窗口。
工程软件训练
2.SimMechanics(机构系统模块)
SimMechanics可以在simulink下直接使用的模块集,可以将表示各种机构 的模块在普通simulink窗口中绘制出来,并通过它自己提供的检测与驱动模块和 普通simulink模块连接起来,获得整个系统的仿真结果。SimMechanics必须在 MATLAB 6.1及以上版本的支持下运行,其动画显示还需要虚拟现实工具箱的 支持。
41
工程软件训练
2) 网络输入模块库(Net Input Functions)
用鼠标的左键双击Net Input Functions模块库的图标,便可打开如图所示的网 络输入模块库窗口。
网络输入模块库中的每一个模块都能够接受任意数目的加权输入向量、加权的 层输出向量,以及偏值向量,并且返回一个网络输入向量。
上面的这些模块需要的权值向量必须定义为列向量。这是因为Simulink中的信号 可以为列向量,但是不能为矩阵或者行向量。
43
工程软件训练
4)控制系统模块库(Control Systems) 用鼠标的左键双击Control Systems模块库的图标,便可打开如图所示的控
制系统模块库窗口。神经网络的控制系统模块库中包含三个控制器和一个示波器。
在Neural Network Blockset模块集中包含了四个模块库,用鼠标的左键双击
。 各个模块库的图标,便可打开相应的模块库
Simulink仿真基础 课件
即可。名称在功能模块上的位置也可以变换180度,可以用Format菜 单中的Flip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。 ▪ 7)颜色设定:Format菜单中的Foreground Color可以改变模块的前景 颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜 色可以通过Screen Color来改变。
户设置仿真的开始和结束时间,选择解法器,说 明解法器参数及选择一些输出选项。Workspace I/O页,作用是管理模型从MATLAB工作空间的输 入和对它的输出。Diagnostics页,允许用户选择 Simulink在仿真中显示的警告信息的等级。
▪ 仿真结果保存与分析采用SCOPE模块和其 他的画图模块,在仿真进行的同时,就可 观看到仿真结果。除此之外,用户还可以 在改变参数后来迅速观看系统中发生的变 化情况。仿真的结果还可以存放到 MATLAB的工作空间里做事后处理。
Variable Transport Delay:输入信号延时一 个可变时间再输出
▪ 简单模型的建立
▪ (1)建立模型窗口
▪ (2)将功能模块由模块库窗口复制到模 型窗口
▪ (3)对模块进行连接,从而构成需要的 系统模型
▪ 模型的特点
▪ 在SIMULINK里提供了许多如Scope的接 收器模块,这使得用SIMULNK进行仿真具 有像做实验一般的图形化显示效果。
进行以下的基本操作。 ▪ 1)移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线
而移动,可按住shift键,再进行拖曳。 ▪ 2)复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模
simulink入门教程
simulink⼊门教程S i m u l i n k⼊门教程-CAL-FENGHAI.-(YICAI)-Company One1Simulink?快速⼊门启动Simulink软件要构建模型,可以使⽤ SimulinkEditor 和 Library Browser。
启动MATLAB软件启动 Simulink 之前,请先启动 MATLAB。
请参阅启动和关闭(MATLAB)。
配置MATLAB以启动Simulink您在 MATLAB 会话中打开第⼀个模型时需要的时间⽐打开后续模型长,因为默认情况下,MATLAB 会在打开第⼀个模型时启动 Simulink。
这种即时启动Simulink 的⽅法可以缩短 MATLAB 启动时间,避免不必要的系统内存占⽤。
要快速打开第⼀个模型,您可以配置 MATLAB,在它启动时同时启动 Simulink。
要启动 Simulink ⽽不打开模型或 Library Browser,请使⽤?start_simulink。
根据 MATLAB 的启动⽅式,恰当使⽤此命令:在 MATLAB?⽂件中在操作系统命令⾏中,使⽤matlab命令和-r开关例如,要在运⾏ MicrosoftWindows操作系统的计算机上启动 MATLAB 时启动Simulink,请创建具有以下⽬标的桌⾯快捷⽅式:matlabroot\bin\win64\ -r start_simulink在 Macintosh 和?Linux计算机上,可在启动 MATLAB 时使⽤以下命令启动Simulink 软件:matlab -r start_simulink打开SimulinkEditor要打开 Simulink Editor,您可以:创建⼀个模型。
在 MATLAB 的?Home选项卡上,点击Simulink并选择⼀个模型模板。
或者,如果您已经打开了 Library Browser,请点击?New Model按钮。
有关创建模型的其他⽅法,请参阅创建模型。
部分Simulink基础
设置仿真结果的输出方式,如绘图、 表格等。
04
仿真的运行和停止
运行仿真
通过点击“开始”按钮或使用快捷键启动仿真 。
停止仿真
在仿真过程中,可以通过点击“停止”按钮或 使用快捷键停止仿真。
单步运行
在仿真过程中,可以使用单步运行功能,逐步执行仿真。
仿真结果的分析和可视化
仿真结果查看
在仿真结束后,可以查看仿真结果,包括输出波 形、数据表格等。
02
状态空间系统模块包括各种常见的动态系统,如线 性状态方程、离散状态方程等。
03
这些模块可以用于分析和设计控制系统,通过状态 空间方法进行控制设计和优化。
离散时间系统模块
离散时间系统模块用于描述离散 时间动态系统,它通常用于数字 控制系统和数字信号处理应用。
离散时间系统模块包括各种常见 的离散时间动态系统,如离散时 间滤波器、离散时间控制系统等。
Simulink是MATLAB的一个附加组件,它提供了模拟和数字信号处理的
强大工具,使工程师和科学家能够进行系统建模、仿真和分析。
02
基于图形的编程环境
Simulink使用图形化编程语言,用户可以通过拖放和连接不同的功能模
块来构建模型,无需编写复杂的代码。
03
支持多种应用领域
Simulink广泛应用于通信、控制、图像处理、信号处理、音频处理等领
图像处理与计算机视觉
Simulink提供了丰富的图像处理和计 算机视觉模块,可以用于图像增强、 目标检测、人脸识别等领域。
信号处理
Simulink在信号处理领域也有着广泛 的应用,如滤波器设计、频谱分析、 信号检测等。
02 Simulink基本操作
模型的创建和保存
simulink基本模块的使用
simulink基本模块的使用Simulink是一种强大的仿真和建模工具,常用于开发控制系统、信号处理和通信系统等。
本文将一步一步介绍Simulink的基本模块的使用,并讨论它们在不同领域中的应用。
一、Simulink基础知识在开始介绍基本模块之前,我们需要了解Simulink的一些基础知识。
Simulink是MATLAB软件的一个附加模块,用于建立模型以及执行仿真。
Simulink模型是由各种模块组成的,这些模块通过连线连接在一起,形成一个图形化的仿真模型。
它使用图形化界面,使用户能够直观地构建和修改模型。
二、Simulink基本模块1. 恒定值(constant)模块:恒定值模块用于生成恒定的信号,其输出值不会改变。
在模型中,我们可以通过恒定值模块设置输入信号的初始值、幅值以及一些其他属性。
该模块常用于生成常数信号,如直流电压或恒定的参考信号。
2. 脉冲(gain)模块:脉冲模块将输入信号的幅值乘以一个常数增益,然后输出结果。
通过改变增益系数,可以调整输出信号的幅值。
该模块常用于放大或缩小信号的幅值。
3. 积分器(integrator)模块:积分器模块对输入信号进行积分,并输出积分值。
积分器模块用于对信号进行数值积分操作,可用于控制系统中的积分环节,如PID控制器中的积分环节。
4. 微分器(derivative)模块:微分器模块对输入信号进行微分计算,并输出结果。
微分器模块适用于需要对信号进行微分操作的场景,如滤波器设计和导数控制器。
5. 比例积分微分(PID)控制器模块:PID控制器模块是Simulink中非常重要的一个模块,它结合了前面介绍的比例、积分和微分模块,实现了闭环控制。
PID控制器模块根据输入信号和误差信号生成控制信号,以实现期望输出。
该模块在自动控制系统中应用广泛。
6. 转换器(Switch)模块:转换器模块根据输入信号的值和条件判断,选择输出信号的路径。
该模块可以用于实现逻辑判断,选择不同的信号传递路径。
SIMULINK基础(全)解析
[t,x,y]=sim(‘模型文件名’, [to tf], simset(‘参数1’,参数值1,‘参数 2’,参数值2, …))
其中to为仿真起始时间,tf为仿真终止时间。[t,x,y]为返回值,t 为返回的时间向量值,x为返回的状态值,y为返回的输出向量 值。 – simset定义了仿真参数,包括以下一些主要参数:
7
3、 User-defined Function(函数模块) – Fcn:用自定义的函数(atlab的现有函数进行运算
– S-Function:调用自编的S函数的程序进行运算
8
4、 Lookup Tables(查表模块) – Look-Up Table:建立输入信号的查询表
2
SIMULINK简介
一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的 一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口 是基于Windows的模型化图形输入,其结果是使得用户可以把更多的 精力投入到系统模型的构建,而非语言的编程上。 所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的 系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不 必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它 们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取), 进而进行仿真与分析。
– Signal routing(信号路由模块) – Sinks(接收器模块)
Ports&Subsystem(端口&子系统模块)
Math(数学模块) Sources(输入源模块)
5
– Logic and Bit operations(逻辑&位操作)
Simulink基本模块介绍
1/0.5
&& x
Gain
1 1 s s Integrator Integrator1
& x
x
Scope
0.05 0 -0.05
0.05/0.5 Gain1
初值设置为0.2
-0.1 -0.15 -0.2
0
5
10
15
20
25
30
6. 传递函数模块
传递函数表示法频繁地应用于控制系统设计和系统的动态模拟。传 递函数定义为系统在零初始条件下输出的 Laplace 变换与输入的 Laplace 变换之比。传递函数是一种描述系统动力学输入输出关系的简便方法。 例如: 考虑弹簧质量阻尼系统 x k c F(t) 动力学方程可写为:
系统矩阵
考虑 n 自由度系统:
&& & MX (t ) + CX (t ) + KX (t ) = F (t )
X (t ) = [ x1 (t ), x2 (t ), L, xn (t )]T ∈ R n×1
M ∈R K ∈ R n×n
令:
n×n
n 维广义坐标列向量 阻尼矩阵 外部输入列矩阵
质量矩阵 刚度矩阵
4.1 连续系统模块
大多数物理系统可以用微分方程进行描述,因此可以用连 续系统模拟。最简单的模型是线性模型和定常模型。 例如,振动理论中的动力学方程:
& M&&(t ) + Cx (t ) + Kx (t ) = P (t ) x
其中,x 为系统的广义坐标列向量,M 为质量矩阵,C 为阻 尼矩阵,K 为刚度矩阵,P(t)为外部激励列向量。 在 Simulink中,用来模拟连续系统的基本模块有四个:增义模 块,求和模块,微分模块,积分模块。除了这四个基本模块, 传递函数模块也经常用来模拟物理系统和控制器。
Simulink基础教程
Estimated Position Double click here for SIMULINK Help
此模型中使用了状态 判断和LQR控制。 模 型 中 还 有 几 个 “ 隐 藏 了 真 实 身 份 ”的 子 系 统 , 如 图 中 的 Inputs&Sensors 模块和 State estimator 模块。 双击后可看到 它们的“真实面目”。
1 s Sine Wave Integrator
x(t ) = − cos(t ) + 1
Scope
从源模块库(Sources)中复制正弦波模块(Sine Wave)。 连续模块库(Continuous)复制积分模块(Integrator)。 输出显示模块库(Sinks)复制示波器模块(Scope)。
0
5
10
15
ห้องสมุดไป่ตู้
1.6 模型基本结构
一个典型的 Simulink 模型包括如下三种类型的元素: 信号源模块 被模拟的系统模块 输出显示模块 源模块 系统模块 显示模块
Simulink 模型元素关联图
信号源为系统的输入,它包括常数信号源、函数信号发生 器(如正弦波和阶跃函数波等)和用户自己在 MATLAB 中创建的自定义信号。 系统模块作为中心模块是 Simulink 仿真建模所要解决的 主要部分。 系统的输出由显示模块接收。输出显示的形式包括图形显 示、示波器显示和输出到文件或 MATLAB 工作空间中三 种。输出模块主要在 Sinks 库中。
1.5 创建一个简单模型
两个例子
例子1
& ⎧ x(t ) = sin(t ) ⎨ ⎩ x(0) = 0
x(t ) = − cos(t ) + C C 为常数 利用初始条件 C = 1
Simulink仿真基础(1)
步骤:
(3)设置模块参数:通过双击模块或弹出菜单,可打开该
模块的属性对话框,可设置参数。
如:
Sum:“Icon shape” 设置为“rectangular”, “List of signs”设置为“|+-”。 Transfer Fcn:分母多项式“Denominator” 设置为 “[1 0.6 0]”。 设置传递函数 Step:“Step time”设置为0。
更改标题
Y轴变化
步骤:
在模型窗口,选择“Simulation” “Configuration parameters”,在“Solver”页将 “Stop time”设置为20,然后单击“Start simulation”按钮。
时间增加到20s
参数设置 打印输出
视图整体缩放 X 轴缩放 Y 轴缩放
接收端模块用来接收信号,如:
输出模块 输入不为0 时终止仿真 示波器 终结器
(3)连续系统模块(continuous)
连续系统模块用来构成连续系统的环节,如:
微分器 定积分器 积分器 二阶积分器
2、模块参数设置 打开参数设置对话框:双击模块或者右键选 择“Block Parameters”,比如正弦信号源,可以 设置幅度、频率、初相等。
Simulink建模与仿真基础(1)
Simulink简介
Simulink是Matlab的仿真工具箱,可以用来对 动态系统进行建模、仿真和分析,支持连续的、离散 的以及线性的和非线性的系统。具有以下特点: ★ 用绘制方框图代替编写程序,结构和流程清晰;
★ 智能化地建立和运行仿真,仿真精细、贴近实际;
◆ 信号线分支:将光标指向信号线的分支点上, 按住鼠标右键,光标变为十字,拖动鼠标直到分支 线的终点,释放鼠标。
Simulink基础
Simulink基础教程Simulink是MATLAB系统建模与仿真的图形扩展。
simulink的主要有优点之一,就是能够建立不能用转换方程表示的非线性系统的模型。
simulink的另外一个有点就是能够设定初始值。
当建立转换方程的时候,初始值设定为零。
目录▪启动simulink▪模型文件▪基本元素▪简单例子▪运行simulink▪建立系统在simulink里面,系统是绘制在屏幕上的方块图。
这其中有很多可用的功能方块,比如如传递函数,求和结点,还有一些虚拟的输入跟输出的方块,比如函数生成器或是示波器。
simulink是跟matlab相关联的,数据可以在程序之间相互传递,在本教程中,我们将会把simulink应用在MATLAB教程的建模实例中,并对模型进行仿真,Simulink的支持在Unix,Macintosh和Windows环境下运行,并包含在学生版MATLAB中供个人电脑使用。
对于Simulink的更多信息,请访问该页面顶部的Mathworks公司链接。
这些教程背后的想法是,你可以在一个窗口中运行的Simulink同时在另一个窗口中查看它们。
系统模型文件可以从教程下载,并在Simulink中打开。
您可以对这些系统进行建模和扩展,同时学习使用Simulink进行系统建模,控制和仿真。
不要将教程中的窗口图标和菜单跟实际的Simulink的窗口弄混。
大多数图像在这些教程都不能使用–他们只是显示你应该在你自己的Simulink窗口看到的。
所有Simulink的操作应该在你的Simulink窗口来完成。
启动simulink启动simulink在MATLAB中启动simulink遵循如下步骤:Simulink你也可以点击MATLAB最上面的图标启动simulink当它启动之后,你能看到下面一个带Simulink Library Browser标题的窗口模型文件在simulink里面,一个模型是由许多模块组成的,这些模块和在一起组成一个系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– Memory: 一个积分步骤的延迟
2016/12/22 同济大学电子与信息工程学院 6
2、离散模块(Discrete)
– Discrete-time Integrator:离散时间积分器 – Discrete Filter:离散滤波器 – Discrete State-Space:离散状态空间系统模型 – Discrete Transfer-Fcn:离散传递函数模型 – Discrete Zero-Pole:以零极点表示的离散传递函数模型 – First-Order Hold:一阶采样和保持器 – Zero-Order Hold:零阶采样和保持器 – Unit Delay:一个采样周期的延时
– Relay:滞环比较器,限制输出值在某一范围内变化。
– Dead Zone:死区,在某一范围内的输入其输出值为0 – Backlash :磁滞回环模块
– Rate limiter:变化率限幅模块
2016/12/22
同济大学电子与信息工程学院
10
6、Signal routing (信号路由模块)
– Discontinuities(非线性模块)
– Signal routing(信号路由模块)
2016/12/22 逻辑&位操作)
Ports&Subsystem(端口&子系统模块)
Math(数学模块)
– Sinks(接收器模块) Sources(输入源模块) Logic and Bit operations(
仿真算法与控制参数选择
1、Solver页
此页可以进行的设置有:选择仿真开始和结束的时间;选择解法器, 并设定它的参数; 仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机 仿真中对时间的一种表示,比如10秒的仿真时间,如果采样步长定为 0.1,则需要执行100步,若把步长减小,则采样点数增加,那么实际 的执行时间就会增加。一般仿真开始时间设为0,而结束时间视不同的 因素而选择。总的说来,执行一次仿真要耗费的时间依赖于很多因素 ,包括模型的复杂程度、解法器及其步长的选择、计算机时钟的速度 等等。 仿真精度控制有 Relative Tolerance 选项、Absolute Tolerance 等,其 中相对误差限的默认值设置为 1e-3,该值在实际仿真中显得偏大,建 议选择 1e-6 和 1e-7。值得指出的是,由于采用的变步长仿真算法,所 以将误差限设置到这样小的值也不会增加太大的运算量。
– Mux:将多个单一输入转化为一个复合输出
– Demux:将一个复合输入转化为多个单一输出
– Switch:开关选择,当第二个输入端大于临界值时,输出由第一个 输入端而来,否则输出由第三个输入端而来
– Manual Switch:手动选择开关
2016/12/22
同济大学电子与信息工程学院
11
7、 Math(数学模块)
8
4、 Lookup Tables(查表模块) – Look-Up Table:建立输入信号的查询表
– Look-Up Table(2-D):建立两个输入信号的查询表
2016/12/22
同济大学电子与信息工程学院
9
5、 Discontinuities (非线性模块)
– Saturation:饱和输出,让输出超过某一值时能够饱和。
第八章 SIMULINK基础
2016/12/22
同济大学电子与信息工程学院
1
概述
在工程实际中,控制系统的结构往往很复杂,如果不借助专用的系 统建模软件,很难准确地把一个控制系统的复杂模型输入计算机, 对其进行进一步的分析与仿真。 1990年,Math Works软件公司为MATLAB提供了新的控制系统模 型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制 工程界获得了广泛的认可,使得仿真软件进入了模型化图形组态阶 段。但因其名字与当时比较著名的软件SIMULA类似,所以1992年 正式将该软件更名为SIMULINK。 SIMULINK的出现,给控制系统分析与设计带来了福音。该软件的 名称表明了该系统的两个主要功能:Simu(仿真)和Link(连接),即 该软件可以利用鼠标在模型窗口上绘制出所需要的控制系统模型, 然后利用SIMULINK提供的功能来对系统进行仿真和分析。
2016/12/22
同济大学电子与信息工程学院
14
10、Ports&Subsystem(端口&子系统模块)
– In1:输入端
– Out1:输出端
– SubSystem:建立新的封装(Mask)功能模块
2016/12/22
同济大学电子与信息工程学院
15
11、Logic and Bit operations(逻辑&位操作) Compare to constant :与常数比较
2016/12/22
同济大学电子与信息工程学院
13
9、Sources(输入源模块)
– Constant:常数信号 – Clock:时钟信号 – From Workspace:来自MATLAB的工作空间 – From File(.mat):来自数据文件
– Pulse Generator:脉冲发生器
– Repeating Sequence:重复信号 – Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波 – Sine Wave:正弦波信号 – Step:阶跃波信号
2016/12/22 同济大学电子与信息工程学院 20
5.2.2 仿真算法与控制参数选择
选中 Simulink 模型窗口的 Simulation 菜单项, 其中的 Configuration Parameters 菜单项允许用户设 置 仿真控制参数。
2016/12/22
同济大学电子与信息工程学院
21
2016/12/22
同济大学电子与信息工程学院
22
仿真算法与控制参数选择
1、Solver页
仿真步长模式:用户在Type后面的第一个下拉选项框中指定仿真的步 长选取方式,可供选择的有Variable-step(变步长)和Fixed-step(固 定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差 控制和过零检测。固定步长模式在仿真过程中提供固定的步长,不提 供误差控制和过零检测。 在仿真时还可以选定最大允许的步长和最小允许的步长,这可以通过 填写 Max step size 栏目和 Min step size 的值来实现,如果变步长选择 的步长超过这个限制则将弹出警告对话框。 用户还可以在solver下拉选项框中选择对应模式下仿真所采用的算法。
同济大学电子与信息工程学院 5
1、连续模块(Continuous) – Integrator:输入信号积分
– Derivative:输入信号微分
– State-Space:线性状态空间系统模型 – Transfer-Fcn:线性传递函数模型
– Zero-Pole:以零极点表示的传递函数模型
– Transport Delay:输入信号延时一个固定时间再输出 – Variable Transport Delay:输入信号延时一个可变时间再输出
– 其中to为仿真起始时间,tf为仿真终止时间。[t,x,y]为返回值,t为返回的时 间向量值,x为返回的状态值,y为返回的输出向量值。 – simset定义了仿真参数,包括以下一些主要参数:
2016/12/22 同济大学电子与信息工程学院 17
AbsTol:默认值为1e-6设定绝对误差范围。 Decimation:默认值为1,决定隔多少个点返回状态和输出值。 Solver:解法器的选择 MaxRows:默认值为0,表示不限制。若为大于零的值,则表示限制输出和 状态的规模,使其最大行数等于该数值。 InitialState:一个向量值,用于设定初始状态。 FixedStep:用一个正数表示步阶的大小,仅用于固定步长模式。 MaxStep:默认值为auto。用于变步长模式,表示最大的步阶大小。
2016/12/22
同济大学电子与信息工程学院
3
主要内容
Simulink 建模的基础知识
Simulink 建模与仿真
线性/非线性系统分析与仿真
子系统与模块封装技术
2016/12/22
同济大学电子与信息工程学院
4
SIMULINK简介
二、SIMULINK的启动
1. 在MATLAB的命令窗口直接键入“Simulink”并回车;
2016/12/22 同济大学电子与信息工程学院 7
3、 User-defined Function(函数模块) – Fcn:用自定义的函数(表达式)进行运算
– MATLAB Fcn:利用matlab的现有函数进行运算
– S-Function:调用自编的S函数的程序进行运算
2016/12/22
同济大学电子与信息工程学院
– Real-Imag to Complex:由实部和虚部输入合成复数输出
2016/12/22 同济大学电子与信息工程学院 12
8、Sinks(接收器模块)
– Scope:示波器
– XY Graph:显示二维图形 – To Workspace:将输出写入MATLAB的工作空间 – To File(.mat):将输出写入数据文件 – Terminator:连接到没有连接的输出端
Simulink 是解决这样问题的最有效 的方法,可以用下面的步骤搭建此系 统的仿真模型:
c5mblk3.mdl
①打开模型编辑窗口;
首先打开一个模型编辑窗口,这可以单击 Simulink 工 具栏中新模型的图标或选择菜单项实现。
②复制相关模块;
将相关的模块组中的模块拖动到此窗口中
③修改模块参数; ④模块连接; ⑤系统仿真研究;