MATLAB语言及应用-10 simulink入门
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.1.2 Simulink的应用和特点
Simulink提供一个动态系统建模、仿真和综合分析的集 成环境。在该环境中,无需大量书写程序,而只需要通过简 单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、 贴近实际、效率高、灵活等优点,并基于以上优点Simulink 已被广泛应用于控制理论和数字信号处理的复杂仿真和设计 。同时有大量的第三方软件和硬件可应用于Simulink。
10.2.3 模块的连接
将鼠标放在模块的连线处,鼠标箭头会变成一个十字 叉,然后单击并按下鼠标左键,拖动鼠标到其它模块的输 入口,鼠标箭头变为双十字叉后,放开鼠标左键。
模块间的连线默认为黑色的实线,如果两个模块间的 连线为红色的虚线,表示两个模块并没有连接起来。用鼠 标单击该线,然后按键盘的Delete键或单击鼠标右键并选 择Delete菜单进行删除。
利用Simulink建模的过程,可以简单地理解为从模 块库中选择需要的模块,然后将这些模块进行连接和属 性设置,最后进行系统的运行,并查看仿真结果。
下面对Simulink的基本操作进行详细的介绍,主要 包括启动Simulink、模块的操作和属性设置,以及仿真 器设置等。
10.2.1 启动Simulink
(7)修改模型参数
在积分器中设置初始位移x(0)=0.05m。仿真解算器采用默认 “ode45”,默认变步长,仿真终止时间10.
(8)保存文件exm0801.mdl,试运行。 双击scope示波器模块,点击仿真,在示波器中观察仿真结果。
单击scope显示窗上的纵坐标范围自动设置图标,显示图像如 下。
通过观察可以发现:纵坐标的适当范围大致在[-0.06,0.06],仿 真时间取[0,5]即可
(9)示波器纵坐标设置 用鼠标右键单击示波器的黑色显示屏,在弹出菜单中选择 Axis Properties,引出纵坐标设置对话框。
把纵坐标的下限、上限分别设置为-0.06和0.06,单击ok, 完成设置。
(10)示波器显示范围的修改
仿真软件:
仿真软件是一类面向仿真用途的专用软件,它可能是面 向通用的仿真,也可能是面向某个领域的仿真。它的功能可 以概括为以下几点: (1) 为仿真提供算法支持。 (2) 模型描述,用来建立计算机仿真模型。 (3) 仿真实验的执行和控制。 (4) 仿真数据的显示、记录和分析。 (5) 对模型、实验数据、文档资料和其它仿真信息的存储、 检索和管理(即用于仿真数据信息管理的数据库系统)。
在进行MATLAB安装时,选择Simulink模块,进行Simulink 的安装。在MATLAB 2010a中,Simulink的版本为7.5。
首先启动MATLAB软件,然后再启动Simulink。用户可以 单击MATLAB主界面工具栏的按钮,或在命令行窗口输入: simulink,来启动Simulink。
将各模块适当排列,并用信号线将其正确连接。有几点需 要注意:
① 在建模之前应对模块和信号线有一个整体、清晰和 仔细的安排,这样在建模时会省下很多不必要的麻烦;
② 模块的输入端只能和上级模块的输出端相连接; ③ 模块的每个输入端必须要有指定的输入信号,但输 出端可以空置。
10.2.4 模块的基本操作
1、选中模块 在模型文件中,用鼠标单某个模块来选中该模块,被选 中模块的四角处会出现小黑块编辑框。如果想选定多个对象 ,可以按下Shift键,然后再单击所需选定的模块。也可以用 鼠标拉出矩形虚线框,将所有待选模块框在其中,则矩形框 中所有的对象均被选中。
2、复制模块 在同一个模型文件中,可以采样如下的方法进行模块的 复制:
Simulink应用领域
10.1.3 Simulink举例
基于微分方程的Simulink建模
【例】在下图所示的系统中,已知质量m = 1kg,阻尼b = 2N.sec/m,弹簧系数100N/m,且质量块的初始位移x(0) = 0.05m,其初始速度x’(0) = 0m/sec,要求创建该系统 的SIMULINK模型,并进行仿真运行。
(4) 仿真建模:根据数学模型的形式、计算机类型、采用的高级 语言或其它仿真工具,将数学模型转换成能在计算机上运行的 程序或其他模型,也即获得系统的仿真模型。
(5) 试验:设定实验环境/条件,进行实验,记录数据。
(6) 仿真结果分析:根据实验要求和仿真目的对实验结果进行分 析处理(整理及文档化)。
10.1 Simulink概述
在Sources子库中,找到ห้องสมุดไป่ตู้弦信号模块Sine Wave。可以用 鼠标直接将该模块拖入到文件中,也可以在该模块上单击右键 并选择Add to exam,或选中该模块后按快捷键Ctrl +I。
在Sources子库中找到常量模块Constant并添加。 在Sinks子库中找到示波器Scope,并添加2个示波器。 在数学库Math Operations中,找到加法Add模块和减法模 块Subtract,并添加到模型文件中。
仿真技术的主要用途有如下几点: (1) 优化系统设计。在实际系统建立以前,通过改变仿真模型 结构和调整系统参数来优化系统设计。如控制系统、数字信号 处理系统的设计经常要靠仿真来优化系统性能。 (2) 系统故障再现,发现故障原因。实际系统故障的再现必然 会带来某种危害性,这样做是不安全的和不经济的,利用仿真 来再现系统故障则是安全的和经济的。 (3) 验证系统设计的正确性。 (4) 对系统或其子系统进行性能评价和分析。多为物理仿真, 如飞机的疲劳试验。 (5) 训练系统操作员。常见于各种模拟器,如飞行模拟器、坦 克模拟器等。 (6) 为管理决策和技术决策提供支持。
(3) 半实物仿真:又称数学物理仿真或者混合仿真。为了 提高仿真的可信度或者针对一些难以建模的实体,在系统 研究中往往把数学模型、物理模型和实体结合起来组成一 个复杂的仿真系统,这种在仿真环节中存在实体的仿真称 为半实物仿真或者半物理仿真。这样的仿真系统有飞机半 实物仿真、射频制导导弹半实物仿真等,并且许多模拟器 也属于半实物仿真。
Simulink可以用连续采样时间、离散采样时间或两种混合 的采样时间进行建模,它也支持多速率系统,即系统中的不 同部分具有不同的采样率。
为了创建动态系统模型,Simulink提供了一个建立模型方 块图的图形用户接口(GUI),这个创建过程只需单击和拖动 鼠标操作就能完成,它提供了一种更快捷、直接明了的方式 ,而且用户可以立即看到系统的仿真结果。
所有的能够用微分方程描述的系统都可以用这种方法来 建立,如机械、电路系统。
Simulink 的菜单及功能
File Edit View Simulation Format Tools help
更新的版本软件中: 菜单选项有所增加 提供了更多地功能
10.2 Simulink的基本操作
Simulink是MATLAB软件最重要的组件之一,能 够进行动态系统建模、仿真和综合分析,提供了交互 式图形化环境。在Simulink中,把现实中的每个系统都 看成是由输入、输出和状态这3个基本元素组成,并随 时间变化的数学函数关系。
10.1.1 Simulink的概念
Simulink是MATLAB中的一种可视化仿真工具, 是实现 动态系统建模、仿真和分析的一个软件包,被广泛应用于线 性系统、非线性系统、数字控制及数字信号处理的建模和仿 真中。
(2) 数学仿真:用数学语言去表述一个系统,并编制程序在 计算机上对实际系统进行研究的过程。这种数学表述就是数 学模型。数学仿真把研究对象的结构特征或者输入输出关系 抽象为一种数学描述(微分方程、状态方程,可分为解析模型 、统计模型)来研究,具有很大的灵活性,它可以方便地改变 系统结构、参数;而且速度快,可以在很短的时间内完成实 际系统很长时间的动态演变过程;精确度高,可以根据需要 改变仿真的精度;重复性好,可以很容易地再现仿真过程。
(2) 项目计划、方案设计与系统定义:根据仿真目的确定相应的 仿真结构(实时仿真还是非实时仿真,纯数学仿真还是半物理仿 真等),规定相应仿真系统的边界条件与约束条件。
(3) 数学建模:根据系统的先验知识、实验数据及其机理研究, 按照物理原理或者采取系统辨识的方法,确定模型的类型、结 构及参数。注意要确保模型的有效性和经济性。
本例演示:根据物理定理建立微分方程, 并以此微分方程创建Simulink 模型:模块复制、信号的勾画、模块参 数的设置、示波器的调整;仿真参数的 设置。
弹簧—质量—阻尼系统
(1)建立理论数学模型 对于无外力作用的“弹簧—质量—阻尼”系统,据牛顿定律 可写出:
mx bx kx 0
代入具体数值并整理,可得
有关知识为基础,以计算机和各种专用物理设备为工具,借 助系统模型对真实系统进行试验研究的一门综合性技术。
它利用物理或数学方法来建立模型,类比模拟现实过程 或者建立假想系统,以寻求过程的规律,研究系统的动态特 性,从而达到认识和改造实际系统的目的。
仿真分类 按照实现方式的不同可以将系统仿真分为如下几类: (1) 实物仿真:又称物理仿真。它是指研制某些实体模型, 使之能够重现原系统的各种状态。早期的仿真大多属于这一 类。它的优点是直观形象,至今仍然广泛应用。但是为系统 构造一套物理模型,将是一件非常复杂的事情,投资巨大, 周期长,且很难改变参数,灵活性差。
选定该模块,按下鼠标右键,拖动模块到合适的地方, 释放鼠标。
选定该模块,按住Ctrl键,按住鼠标左键,将模块拖动 到合适的地方,释放鼠标。
选中该模块,然后使用菜单或工具栏中的Copy和Paste 按钮。
第10章 Simulink简介
Simulink是MATLAB软件的重要组成部分,能够 进行动态系统的建模、仿真和综合分析,在学术和工 业领域的应用越来越广泛。 Simulink建模的基本概念 Simulink的基本操作 Simulink常用的基本模块库 Simulink中的子系统和封装
仿真的概念 仿真是以相似性原理、控制论、信息技术及相关领域的
单击示波器的参数设置图标,在General卡片的Axis区的Time range栏中填写5或auto,单击ok,完成设置(或直接在仿 真窗口设置时间)
(11)曲线光滑设置
打开仿真参数面板,把Data Import/Export项中的Refine factor从默认值1改为5,ok,完成设置。
再次运行,曲线光滑!
兵棋推演仿真:以对抗方式进行作战过程推演的工具
推演者可充分运用统计学、概率论、数学分析、 博弈论等科学方法,通过兵棋推演对作战力量、作战 环境、作战行动和结果进行全过程仿真、模拟再现, 为制定作战方案、应对突发事件、论证武器装备、教 育训练等提供重要参考。
计算机仿真的一般过程:
(1) 描述仿真问题,明确仿真目的。
在MATLAB的命令行输入:help simulink,来查看Simulink 命令行下的函数。
在命令行输入:demo simulink,将会打开MATLAB的帮助 系统,并显示Simulink的例子程序。
10.2.2 选择模块
分析待仿真系统,确定待建模型的功能需求和结构。
打开Simulink的库浏览器窗口。然后单击Simulink库浏览 器窗口工具栏上的New按钮,新建模型文件,并保存为 exam.mdl。
x 2x 100 x
(2)建模的基本思路 1、采用积分模块代替求导模块; 2、右侧代数和采用求和模块实现。 3、为了观察位移随时间的变化,需要加入”示波器“模块。
(3)开启空白(新建)模型窗; (4)从模型库复制所需模块到空白(新建)模型窗;
(5)复制模块并连接模块;
(6)修改模型参数 增益分别设置为2、100,加法符号更改为--。
算例总结: 本模型的物理模型是”无外力的弹簧-质量-阻尼系统“。
采用的建模方式是微分方程的形式来描述系统,注意没有 采用导数的形式,而是采用积分模块得到相应的导数,以” 二阶导数“为建模的”起点信号“,然后通过积分模块得 到“一阶导数”,在通过积分模块得到“函数本身”,这 是基于微分方程创建Simulink模型的一般形式。