MATLAB第五讲simulink1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
建模
三. SIMULINK的基本模块库
1.Simulink(系统仿真模块库) 2.Communications Blockset(通信模块库) 3.DSP Blockset(数字信号处理模块库) 4.Control System Toolbox(控制系统模块库)
3.1 SIMULINK模块库包含的子模块库
Fra Baidu bibliotek
2.4 仿真简单模型
例1:对满足
d ( x) sin(t ) d (t ) x(0) 0
数学规律的过程进行仿真。结果用示波器仿真。仿真 时间t为10个单位。 思路:本题需要积分模块,正弦波模块、示波器。 解题步骤: (1) 新建一个模型窗口: (2) 为模型添加所需模块: (3) 连接相关模块,构成所需要的系统模型; (4) 进行系统仿真; (5) 观察仿真结果。
6. 参数设定:用鼠标双击模块,就可以进入模块的 参数设定窗口。参数设定窗口包含了该模块的基本功 能帮助,为获得更详尽的帮助,可以点击其上的help 按钮。通过对模块的参数设定,就可以获得需要的功 能模块。 7.属性设定:选中模块,打开Edit菜单的Block Properties可以对模块进行属性设定。包括 Description属性、 Priority优先级属性、Tag属性、 block annotation属性、callbacks属性。
Continuous(连续模块)
Discrete(离散模块)
Sources(输入源模块库)
提供仿真时 间 常数信 号 从当前工作空间定义 的矩阵读取数据
从文件 读数据
正弦波
Sinks(接收器模块库)
显示数值 将输出的数据保存 到文件
输出
示波器
显示一个信号对另 一个信号的变化曲 线
Math Operations(数学运算模块库)
相对误差限
绝对误差限
(2)Solve options组:选择求解器,并为其指定参数。 仿真步长模式: 变步长算法(Variable-step) 固定步长算法(Fixed-step) 变步长模式可以在仿真的过程中改变步长,提供 误差控制和过零检测。固定步长模式在仿真过程中提供 固定的步长,不提供误差控制和过零检测。用户还可以 在第二个下拉选项框中选择对应模式下仿真所采用的算 法。
主要用来设置Simulink与MATLAB工作空间交换数 值的有关选项。 1)Load from workspace(从工作空间载入数据) 如果模型有输入端口(in模块),则选中前面的复 选框即可从MATLAB工作空间直接把数据导入到输入端 口,再在Initial state定义MATLAB工作空间获得的状态 初始值的变量名。常用下面形式: 矩阵型式。如果以矩阵型式输入变量名,则矩阵的列 必须比模型的输入端口多一个,Matlab把矩阵第一列默 认为时间向量,后面的每一列对应每个输入端口,矩阵 的第一行表示某个时刻各输入端口的输入状态。还可以 用[t,u],t是一维时间列向量,u是和t 长度相等的n维列 向量(n表示输入端口个数),表示状态值。
(1)Commonly Used Blocks模块库,为仿真提供常用元件; (2)Continuous模块库,为仿真提供连续系统; (3)Discontinuous模块库,非连续系统元件; (4)Discrete模块库,为仿真提供离散元件; (5)Logic and Bit Operations模块库,逻辑运算和位运算的元件; (6)Lookup Tables模块库,线形插值查表模块库; (7)Math Operations模块库,数学运算功能元件; (8)Model Verification模块库,模型验证库;
2.3 Simulink模型的结构
Simulink仿真模型(model)在视觉上为直观的方 框图,文件扩展名:.mdl,在数学上体现了一组微分方 程,模拟了物理期间构成的实际系统的动态特征。 模块(block)是构成系统仿真模型的基本单元。用 适当的方式把各种模块连接在一起就建立了动态系统的 仿真模型。通常包括三部分:信号源(sources)、系统 (systems)、接收器(sinks)。
simulink模块库浏览器
在MATLAB命令窗口中输入simulink3,结果是在 桌面上出现一个用图标形式显示 Library :simulink3 的Simulink模块库窗口。
两种模块库窗口界面只是不同的显示形式,用户可 以根据各人喜好进行选用.
新建的模型窗口
2.2 创建simulink模型的一般过程:
信号源 系统 接收器
2.3.1 模块的编辑
1.添加模块:模块库中的模块可以直接用鼠标进行拖 曳(选中模块,按住鼠标左键不放)而放到模型窗口中 进行处理。 2.选取模块 ; 3.复制与删除模块; 4.模块名的处理模块命名:先用鼠标在需要更改的 名称上单击一下,然后直接更改即可。名称在功能模块 上的位置也可以变换180度,可以用Format菜单中的 Flip Name来实现,也可以直接通过鼠标进行拖曳。 Hide Name可以隐藏模块名称。
(9) Model-Wide Utilities模块库;
(10)Ports and Subsystems模块库,端口和子系统; (11)Signals Attributes模块库,信号属性模块; (12)Signals Routing模块库,提供用于输入、输出和 控制的相关信号及相关处理; (13)Sinks模块库,为仿真提供输出设备元件; (14)Sources模块库,为仿真提供各种信号源; (15)User-defined Functions模块库,用户自定义函数 元件; (16)Additional Math &Discrete模块库。
1.2 发展历史
Simulink的产生 1990年MathWorks公司为MATLAB增加了用于 建立系统框图和仿真的环境; 1992年公司将该软件改名为SIMULINK ; Simulink可以搭建: (1)通信系统物理层和数据链路层; (2)动力学系统; (3)控制系统; (4)数字信号处理系统; (5)电力系统; (6)生物系统; (7)金融系统等。
1.3 较为流行的版本 与MATLAB5.2配用的Simulink2.2 与MATLAB5.3配用的Simulink3.0 与MATLAB6.0配用的Simulink4.0 与MATLAB7.0配用的Simulink6.0。
二、SIMULINK的基本使用
2.1 Simulink的启动
SIMULINK是MATLAB软件的扩展,它是实现动态 系统建模、仿真和分析的一个软件包,simu表明用于 系统仿真,link表明用于系统连接。 所谓可视化建模,是指Simulink提供了一些按功能分 类的基本的系统模块,用户只需要知道这些模块的输 入输出及模块的功能,而不必考察模块内部是如何实 现的,通过对这些基本模块的调用,再将它们连接起 来就可以构成所需要的系统模型(以.mdl文件进行存 取),进而进行仿真与分析。 这样一来,用户可以把更多的精力投入到系统模型的 构建,而非语言的编程上。
变步长模式解法器有:ode45,ode23,ode113, ode15s,ode23s,ode23t,ode23tb和discrete ode45:缺省值,适用于大多数连续或离散系统,但 不适用于刚性(stiff)系统。一般来说,面对一个仿 真问题最好是首先试试ode45。
4.2 数据输入输出选项(Data Import and Export)
4.1.Solve选项设置(Simulink time和 solver options)
此页可以进行的设置有:选择仿真开始和结束的时 间;选择解法器,并设定它的参数;选择输出项。 (1)Simulation time组:设置仿真起止时间 仿真时间:注意这里的时间概念与真实的时间并不 一样,只是计算机仿真中对时间的一种表示,比如10秒 的仿真时间,如果采样步长定为0.1,则需要执行100步, 若把步长减小,则采样点数增加,那么实际的执行时间 就会增加。一般仿真开始时间设为0,而结束时间视不同 的因素而选择。总的说来,执行一次仿真要耗费的时间 依赖于很多因素,包括模型的复杂程度、解法器及其步 长的选择、计算机时钟的速度等等。
点乘 常量增益(输入乘 一个常数)
数学运算函数
对输入求积
求和
三角函数
User-Defined Functions(用 户定义模块库) 调用函数模块
Continuous连续系统模块
积分环节
微分环节
状态方程
传递函数
Ports & Subsystems(端口和 子系统模块库)
Discrete-Time linear systems(离散系统模块)
第五章MATLAB SIMULINK 仿真软件
主要内容
一. Simulink简介 二.Simulink的基本使用 三. Simulink的基本模块 四.系统的仿真 五.启动系统仿真与仿真结果分析 六.Simulink子系统 七.原件及电路仿真例子
一、Simulink简介
1.1 SIMULINK简介
Discontinuities(非线性模块库)
例2:设系统的微分方程为:
x x2 t
' 1
x 2 x 2 e 0 .5 t
'
试建立该系统仿真模型。
思路:系数是时间t的函数,t用信号源库(sources)中的 时钟模块clock;e-0.5t用数学模块库 (math operations)中 的数学函数模块(math function),还有sources库中的常 数模块constant, math operations中的乘积模块 (product),连续系统的库(continuous)中的积分模块 (interator);输出用输出模块库(sinks)中的输出端口模块 (out),或者输出可以用scope模块或to space模块。
运行simulink有三种方式:
方 式 ( 1 ) 在 Matlab 的 命 令 窗 口 直 接 键 入
simulink; 方式(2)点击Matlab的工具条上的simulink的 快捷键图标 ; 方 式 ( 3 ) 在 Matlab 的 菜 单 中 , 选 择 FileNewModel,会弹出新建立的模型窗口, 名为untitled。或打开simulink后的 。
qh1.mal
四. 系统的仿真
在系统仿真过程中,事先必须对仿真算法、输出模 式等各种参数进行设置。其方法是:
打开仿真参数对话框: simulation中的configuration parameters命令, 设置如下仿真参数: Solver(算法,设置仿真起止时间) Data Import/Export(设置simulink与workspoce交换数据) Diagnostics(诊断,设置仿真中出现各类错误警告等级) Optimization(设置仿真优化参数) Hardware Implementation(设置硬件工具) Model Referencing(模块引用相关参数)
5.模块外形调整 模块的大小:view zoom in/zoom out分别用来放 大/缩小整个模型;fit selection to view表示将当前系 统放大到整个窗口观察;normal(100%)恢复到原始 大小。 调整模块方向:选中模块 format rotate block 90。/ flip block 180。 改变模块颜色:选中模块 format foreground color即模块的前景色,包括模块图标、边框、模块名 的颜色,使模块产生阴影;backround color即背景色 填充色;screen color改变背景色;加阴影:show drop shadow。
2.3.2 模块的连接
1.连接两个模块:光标变成十字,按住鼠标左键,重影 放开鼠标; 2.模块间连线的调整; 3.连线的分支:一个信号源送给不同模块需要从一根线 分出连线,按下ctrl键然后用鼠标拖动到目标输入端, 或者直接按鼠标右键拖动。 4.标注的连线,在要加标注处双击则出现小文本框;或 Format中的Fort子菜单可作更多设置。 5.删除连线
1.启动simulink; 2.根据具体问题建立数学模型; 3.在模块库中找需要的仿真模块,放到编辑窗; 4.对模块进行编辑,以方便模型的建立(连线方向、模 块颜色及大小等); 5.连线(逻辑关系,非电路的);注意端点和分点的连 接等; 6.模块参数设置; 7.仿真输出。(数学输出先双击示波器,对示波器设置 然后仿真,非数学输出,必须先建立S函数然后才可仿 真运行)。 8.分析结果,满意保存,否则修正相关参数。