第三部分simulink基础知识学习课件_第1页
第三部分simulink基础知识学习课件_第2页
第三部分simulink基础知识学习课件_第3页
第三部分simulink基础知识学习课件_第4页
第三部分simulink基础知识学习课件_第5页
已阅读5页,还剩209页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三部分前言前言一、动态系统的计算机仿真一、动态系统的计算机仿真1、系统与模型、系统与模型(1)系统系统 系统只指具有某些特定功能、相互联系、相互作用的系统只指具有某些特定功能、相互联系、相互作用的元素的元素的集合集合。这里的系统是指广义上的系统,泛指自然界。这里的系统是指广义上的系统,泛指自然界的一切现象与过程,例如工程系统如控制系统、通讯系统的一切现象与过程,例如工程系统如控制系统、通讯系统等,非工程系统如股市系统、交通系统、生物系统等。等,非工程系统如股市系统、交通系统、生物系统等。(2)系统模型系统模型 系统模型是对实际系统的一种抽象,是对系统本质(或系统模型是对实际系统的一种抽象,是

2、对系统本质(或是系统的某种特性)的一种描述。模型具有与系统相似的特是系统的某种特性)的一种描述。模型具有与系统相似的特性。好的模型能够反映实际系统的性。好的模型能够反映实际系统的主要特征和运动规律主要特征和运动规律。模型可以分为模型可以分为实体模型和数学模型实体模型和数学模型。实体模型又称物理效应模型,是根据系统之间的相似性而建实体模型又称物理效应模型,是根据系统之间的相似性而建立起来的物理模型,如建筑模型等。立起来的物理模型,如建筑模型等。数学模型包括数学模型包括原始系统数学模型原始系统数学模型和和仿真系统数学模型仿真系统数学模型。原始原始系统数学模型系统数学模型是对系统的原始数学描述。是对

3、系统的原始数学描述。仿真系统数学模型仿真系统数学模型是一种适合于在计算机上演算的模型,主要是指根据计算机是一种适合于在计算机上演算的模型,主要是指根据计算机的运算特点、仿真方式、计算方法、精度要求将原始系统数的运算特点、仿真方式、计算方法、精度要求将原始系统数学模型转换为计算机程序。学模型转换为计算机程序。静态系统模型静态系统模型动态系统模型动态系统模型代数方程代数方程连续系统模型连续系统模型离散系统模型离散系统模型集中参数集中参数分布参数分布参数差分方程差分方程微分方程微分方程偏微分方程偏微分方程2、计算机仿真、计算机仿真(1)仿真的概念仿真的概念 仿真是以相似性原理、控制论、信息技术及相关

4、领域的仿真是以相似性原理、控制论、信息技术及相关领域的有关知识为基础,以计算机和各种专用物理设备为工具,借有关知识为基础,以计算机和各种专用物理设备为工具,借助助系统模型系统模型对真实系统进行对真实系统进行试验试验的一门综合性技术。的一门综合性技术。(2)仿真分类仿真分类a: 实物仿真:又称物理仿真。是指研制某些实体模型,使之实物仿真:又称物理仿真。是指研制某些实体模型,使之能够重现原系统的各种状态。早期的仿真大多属于这一类能够重现原系统的各种状态。早期的仿真大多属于这一类优点:直观,形象,至今仍然广泛应用。优点:直观,形象,至今仍然广泛应用。缺点:投资巨大、周期长,难于改变参数,灵活性差。缺

5、点:投资巨大、周期长,难于改变参数,灵活性差。b: 数学仿真数学仿真:是用数学语言去描述一个系统,并编制程序是用数学语言去描述一个系统,并编制程序 在计算机上对实际系统进行研究的过程。在计算机上对实际系统进行研究的过程。优点优点: 灵活性高,便于改变系统结构和参数,效率高(可以灵活性高,便于改变系统结构和参数,效率高(可以 在很短时间内完成实际系统很长时间的动态演变过程在很短时间内完成实际系统很长时间的动态演变过程 ) 重复性好。重复性好。缺点缺点: 对某些复杂系统可能很难用数学模型来表达,或者难以对某些复杂系统可能很难用数学模型来表达,或者难以 建立其精确模型建立其精确模型,或者由于数学模型

6、过于复杂而难以求解或者由于数学模型过于复杂而难以求解C: 半实物仿真:半实物仿真:又称又称数学物理仿真数学物理仿真或者混合仿真。为了提高或者混合仿真。为了提高仿真的可信度或者针对一些难以建模的实体,在系统研究中仿真的可信度或者针对一些难以建模的实体,在系统研究中往往把数学模型、物理模型和实体结合起来组成一个复杂的往往把数学模型、物理模型和实体结合起来组成一个复杂的仿真系统,这种在仿真环节中存在实体的仿真称为半物理仿仿真系统,这种在仿真环节中存在实体的仿真称为半物理仿真或者半物理仿真,如飞机半实物仿真等。真或者半物理仿真,如飞机半实物仿真等。(3) 计算机仿真计算机仿真 计算机仿真是在研究系统过

7、程中根据相似性原理,利用计算机仿真是在研究系统过程中根据相似性原理,利用计算机来逼真模拟研究系统。研究对象可以是实际的系统计算机来逼真模拟研究系统。研究对象可以是实际的系统,也可以是设想中的系统。在没有计算机以前,仿真都是,也可以是设想中的系统。在没有计算机以前,仿真都是利用实物或者它的物理模型来进行研究的,即物理仿真。利用实物或者它的物理模型来进行研究的,即物理仿真。物理仿真的优点是直接、形象、可信,缺点是模型受限、物理仿真的优点是直接、形象、可信,缺点是模型受限、易破坏、难以重用。易破坏、难以重用。计算机仿真可以用于研制产品或设计计算机仿真可以用于研制产品或设计系统的全过程,包括方案论证、

8、技术指标确定、设计分析系统的全过程,包括方案论证、技术指标确定、设计分析、故障处理等各个阶段。、故障处理等各个阶段。如训练飞行员、宇航员的方针工如训练飞行员、宇航员的方针工作台和仿真机舱等。作台和仿真机舱等。二、仿真的三要素二、仿真的三要素 计算机仿真的三个基本计算机仿真的三个基本要素要素是是系统、模型和计算机系统、模型和计算机,联,联系着它们的三项基本系着它们的三项基本活动活动是是模型建立、仿真模型建立(又称模型建立、仿真模型建立(又称二次建模)和仿真试验。二次建模)和仿真试验。 数学仿真采用数学模型,用数学语言对系统的特性进行数学仿真采用数学模型,用数学语言对系统的特性进行描述,其工作过程

9、是:描述,其工作过程是: 建立系统的数学模型;建立系统的数学模型; 建立系统仿真模型,即设计算法,并转化为计算机程序,建立系统仿真模型,即设计算法,并转化为计算机程序,使系统的数学模型能为计算机所接受并能在计算机上运行使系统的数学模型能为计算机所接受并能在计算机上运行 运行仿真模型,进行仿真试验,再根据仿真试验的结果进运行仿真模型,进行仿真试验,再根据仿真试验的结果进一步修正系统的数学模型和仿真模型。一步修正系统的数学模型和仿真模型。主要内容主要内容 SIMILINK与建模仿真与建模仿真模块的基本操作模块的基本操作运行仿真运行仿真基本模块介绍基本模块介绍连续系统连续系统子系统及其封装技术子系统

10、及其封装技术10.1 SIMULINK与建模仿真与建模仿真10.1.1 SIMULINK1. SIMULINKSIMULINK是是MATLABMATLAB软件的扩展,它是实现动态系软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与统建模和仿真的一个软件包,它与MATLABMATLAB语言的语言的主要区别在于,其与用户交互接口是基于主要区别在于,其与用户交互接口是基于WindowsWindows的模型化图形输入,其结果是使得用户可以把更的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编多的精力投入到系统模型的构建,而非语言的编程上。程上。2.2.所谓模型化

11、图形输入是指所谓模型化图形输入是指SIMULINKSIMULINK提供了一些按提供了一些按功能分类的基本的系统模块,用户只需要知道这功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统用,再将它们连接起来就可以构成所需要的系统模型(以模型(以.mdl.mdl文件进行存取),进而进行仿真与文件进行存取),进而进行仿真与分析。分析。10.1.2 SIMULNK应用领域应用领域1 1. . 通讯与卫星系

12、统通讯与卫星系统;2 2. . 航空航天系统航空航天系统;3 3. . 生物系统;生物系统;4 4. . 船舶系统船舶系统;5 5. . 汽车系统汽车系统;6 6. . 金融系统;金融系统;7 7. . 控制系统控制系统。10.1.3 SIMULINK的基本使用基本使用1. 安装安装 随随MATLAB安装或单独安装安装或单独安装。2. 启动启动 (1) 命令窗口中键入命令窗口中键入Simulink (2) 工具栏中工具栏中,点击快捷按钮来打开点击快捷按钮来打开Simulink 窗口窗口。 出现出现 Simulink Library Browser的窗口,的窗口,在这个窗口中列在这个窗口中列出了

13、按功能分类出了按功能分类的各种模块的名的各种模块的名称称。 注注:在在MATLAB命令窗口中输入命令窗口中输入Simulink3 出现用图标形式显示的出现用图标形式显示的Library :Simulink3的的Simulink模块库窗口。模块库窗口。 两种模块库窗口界面只是不同的显示形式,用户两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太口直观、形象,易于初学者,但使用时会打开太多的子窗口。多的子窗口。3. 创建模型窗口创建模型窗口(1) 在在Matlab窗口窗口file菜

14、单下选择菜单下选择new命令命令 的的model;(2) Simulink窗口窗口file菜单下选择菜单下选择new命令命令 的的model;(3) 单击单击Simulink 窗口工具栏按窗口工具栏按 钮。钮。10.1.4 建模仿真建模仿真1.1.建模仿真的一般过程建模仿真的一般过程: : (1) (1)打开一个空白的编辑窗口;打开一个空白的编辑窗口; (2)(2)将模块库中模块复制到编辑窗口里,并依照将模块库中模块复制到编辑窗口里,并依照 给定的框图修改编辑窗口中模块的参数;给定的框图修改编辑窗口中模块的参数; (3)(3)将各个模块按给定的框图连接起来;将各个模块按给定的框图连接起来; (

15、4)(4)用菜单选择或命令窗口键入命令进行仿真分用菜单选择或命令窗口键入命令进行仿真分 析,在仿真的同时,可以观察仿真结果,如析,在仿真的同时,可以观察仿真结果,如 果发现有不正确的地方,可以停止仿真,对果发现有不正确的地方,可以停止仿真,对 参数进行修正;参数进行修正; (5)(5)如果对结果满意,可以将模型保存。如果对结果满意,可以将模型保存。2.2. Simulink模型基本结构模型基本结构(1) (1) 一个典型的一个典型的SimulinkSimulink模型包括如下三种类型模型包括如下三种类型 的元素:的元素: 信号源模块信号源模块 被模拟的系统模块被模拟的系统模块 输出显示模块输出

16、显示模块(2) (2) Simulink模型元素关联图模型元素关联图源模块源模块系统模块系统模块显示模块显示模块信号源为系统的输入,它包括常数信号源、信号源为系统的输入,它包括常数信号源、函数信号发生器(如正弦波和阶跃函数波函数信号发生器(如正弦波和阶跃函数波等)和用户自己在等)和用户自己在MATLAB MATLAB 中创建的自定义中创建的自定义信号。信号。系统模块作为中心模块是系统模块作为中心模块是SimulinkSimulink仿真建仿真建模所要解决的主要部分。模所要解决的主要部分。系统的输出由显示模块接收。输出显示的系统的输出由显示模块接收。输出显示的形式包括形式包括图形显示图形显示、示

17、波器显示示波器显示和和输出到文件输出到文件或或MATLAB 工作空间工作空间中三种。输出模块主要中三种。输出模块主要在在Sinks Sinks 库中。库中。例例1:10.1.5 仿真简单模型C=1sin( )(0)0( )txx t( )cos( )x ttC ( )cos( ) 1x tt C为常数为常数利用初始条件利用初始条件创建模型步骤创建模型步骤1. 添加模块添加模块 从从源模块库源模块库(Sources)中复制正弦波模块中复制正弦波模块(Sine Wave)。 连续模块库连续模块库(Continuous)复制积分模块复制积分模块(Integrator)。 输出输出显示模块库显示模块库

18、(Sinks)复制示波器模块复制示波器模块(Scope)。2. 连接模块连接模块3. 运行仿真运行仿真 双击示波器模块双击示波器模块,打开打开Scope窗口。双击模窗口。双击模型窗口菜单中型窗口菜单中的的SimulationStart,仿真仿真执行执行,结果如图所示结果如图所示。sin( )(0)1( )txx tC=0利用初始条件利用初始条件系统的解析解为系统的解析解为( )cos( )x tt Simulink模型:模型: 在仿真时需要在仿真时需要将积分模块的将积分模块的初始值设置为初始值设置为 -1,最终可以,最终可以得到标准的余得到标准的余弦曲线弦曲线。例例2:利用利用simulink

19、来计算来计算“chirp”信号和正弦函信号和正弦函 数信号叠加后的信号波数信号叠加后的信号波(examp10_1_2.mdl)例例3:单自由度系统:单自由度系统:0mx cx kx00(0)1,(0)0 xxxx初始条件:初始条件:要求:采用要求:采用Simulink对系统进行仿真。对系统进行仿真。已知参数已知参数: m=1, c=1, k=1(examp10_1_3.mdl)0ckxxxmm解:解:注:注:如果系统中没有阻尼,则动力方程为:如果系统中没有阻尼,则动力方程为: (examp10_1_3_0.mdl), 0mx kx已知参数:m=1,k=101,(0)0 xx0初始条件: x(0

20、)=x解:解:0kxxm主要内容 SIMILINK与建模仿真与建模仿真模块的基本操作模块的基本操作运行仿真运行仿真基本模块介绍基本模块介绍连续系统连续系统子系统及其封装技术子系统及其封装技术10.2 模块的基本操作模块的基本操作10.2.1 打开模型打开模型 1. 新建模型新建模型 2. 打开一个已存在的模型打开一个已存在的模型 方法方法1:通过:通过FileOpen命令;命令; 方法方法2:在:在MATLAB命令窗口中直接键命令窗口中直接键 入模型名。入模型名。10.2.2 模块操作模块操作 调整模块的大小调整模块的大小 选中模块,模块四角出现小方块,然后按住鼠选中模块,模块四角出现小方块,

21、然后按住鼠 标拖曳。标拖曳。2. 旋转模块旋转模块 选中模块,然后选择菜单命令选中模块,然后选择菜单命令FormatRotate 模块将顺时针方向旋转模块将顺时针方向旋转90度。度。3. 模块内部复制模块内部复制 方法方法1:先按:先按Ctrl键,再单击模块键,再单击模块 方法方法2:右键拖曳模块:右键拖曳模块 方法方法3:EditCopy和和EditPaste 方法方法4:选中模块,:选中模块,Ctrl+C复制,复制,Ctrl+V粘贴粘贴 方法方法5:右键快捷菜单:右键快捷菜单4. 删除模块删除模块 方法方法1:选中模块,按:选中模块,按Delete键键 方法方法2:选中模块,然后从模型窗口

22、中选择:选中模块,然后从模型窗口中选择 EditDelete 方法方法3:选中模块,然后选择菜单:选中模块,然后选择菜单EditCut删删 至剪贴板至剪贴板5. 选中多个模块选中多个模块 方法方法1:按住:按住Shift键,同时用鼠标单击想要选中键,同时用鼠标单击想要选中 的模块的模块 方法方法2:使用:使用“范围框范围框”,在使用,在使用“范围框范围框”后,后, 若若 想继续选择模块,可按住想继续选择模块,可按住Shift键,再键,再 单击要选的模块即可单击要选的模块即可注注:若多个模块被选中若多个模块被选中,则这些模块可以被则这些模块可以被 当作一个整体进行操作,如移动、复制和当作一个整体

23、进行操作,如移动、复制和删除等,操作方法和单个模块的操作方法删除等,操作方法和单个模块的操作方法相同。相同。6. 修改模块名修改模块名 鼠标左键双击模块名,则模块名进行编辑鼠标左键双击模块名,则模块名进行编辑状态。编辑完标签后,在模块名外的任意状态。编辑完标签后,在模块名外的任意位置上单击鼠标,则新的模块名将被承认。位置上单击鼠标,则新的模块名将被承认。7. 改变模块名位置改变模块名位置 选择菜单命令选择菜单命令FormatFlip Name,模块名将发模块名将发生翻转。若原模块名位置在模块的左边,则翻转生翻转。若原模块名位置在模块的左边,则翻转到右边。若原模块名位置在模块的下方,则翻转到右边

24、。若原模块名位置在模块的下方,则翻转到上方。到上方。8. 模块名显示与否模块名显示与否 选中模块,然后通过选择菜单命令选中模块,然后通过选择菜单命令FormatHide Name,则模块的标签从屏幕上消则模块的标签从屏幕上消失。此时失。此时Hide Name变成为变成为Show Name,选,选中它可以重新显示标签。中它可以重新显示标签。9. 增加阴影增加阴影 选择菜单命令选择菜单命令FormatShow Drop Shadow 则模块增加阴影。此时则模块增加阴影。此时Show Drop Shadow变变成为成为Hide Drop Shadow,选中它可以隐藏阴,选中它可以隐藏阴影。影。10.

25、2.3 信号线操作信号线操作1. 绘制信号线绘制信号线 方法方法1: 由输出端口拖曳鼠标到输入端口,或拖曳鼠由输出端口拖曳鼠标到输入端口,或拖曳鼠 标由输入端口到输出端口。标由输入端口到输出端口。 方法方法2: 先选中模块,然后按住先选中模块,然后按住Ctrl并用鼠标左键单并用鼠标左键单 击目标模块。击目标模块。2. 断开模块间的连线断开模块间的连线 方法方法1: 先按下先按下Shift键,然后用鼠标左键拖动模块到键,然后用鼠标左键拖动模块到 另一个位置。另一个位置。 方法方法2: 将鼠标指向连线的箭头处,当出现一个小圆将鼠标指向连线的箭头处,当出现一个小圆 圈圈住箭头时按下鼠标左键并移动连线

26、。圈圈住箭头时按下鼠标左键并移动连线。3. 在信号线之间插入模块在信号线之间插入模块 用鼠标拖动模块到信号线上,使得模块的输入用鼠标拖动模块到信号线上,使得模块的输入/输输出端口对准信号线。出端口对准信号线。4. 移动线段移动线段 按下鼠标左键直接拖动信号线。按下鼠标左键直接拖动信号线。5. 移动节点移动节点 选中信号线某段,单击选中此段,移动鼠标到黑选中信号线某段,单击选中此段,移动鼠标到黑色小方框上,当出现一个小圆圈时按下鼠标左色小方框上,当出现一个小圆圈时按下鼠标左键移动信号线。键移动信号线。6. 删除信号线删除信号线 同删除模块一样。同删除模块一样。7. 信号线调整为斜线段信号线调整为

27、斜线段 先单击先单击Shift按钮,将鼠标指向需要移动的按钮,将鼠标指向需要移动的 直线上的一点并按下鼠标左键拖动直线。直线上的一点并按下鼠标左键拖动直线。8. 信号线调整为折线段信号线调整为折线段 按住鼠标左键不放直接拖动直线。按住鼠标左键不放直接拖动直线。Sine WaveScope1/sIntegrator9. 信号线标签信号线标签 (1) 建立信号标签建立信号标签 在直线上直接用鼠标左键双击,然后输入。在直线上直接用鼠标左键双击,然后输入。 (2) 复制信号标签复制信号标签 按下按下Ctrl键,然后按住鼠标左键选中标签并拖动键,然后按住鼠标左键选中标签并拖动 。 (3) 移动信号标签移

28、动信号标签 按住鼠标左键选中标签并拖动按住鼠标左键选中标签并拖动 (4) 编辑信号标签编辑信号标签 在标签框内用鼠标左键双击,然后编辑在标签框内用鼠标左键双击,然后编辑 (5) 删除信号标签删除信号标签 按下按下 Shift键,然后用鼠标左键单击选中标签键,然后用鼠标左键单击选中标签,再再 按按Delete键键 10.2.4 模型注释模型注释 使用模型注释可以使模型更易读懂,其效果如使用模型注释可以使模型更易读懂,其效果如同同MATLAB 程序中的注释行一样。对于经常使程序中的注释行一样。对于经常使用用Simulink的用户,养成经常使用注释的习惯的用户,养成经常使用注释的习惯是非常重要的。是

29、非常重要的。1. 建立注释建立注释 在模型图标中用鼠标左键双击,然后输入文字。在模型图标中用鼠标左键双击,然后输入文字。2. 复制注释复制注释 按下按下Ctrl键,然后按下鼠标左键选中注释文字并键,然后按下鼠标左键选中注释文字并 拖动。拖动。3. 移动注释移动注释 按下鼠标左键选中注释并拖动。按下鼠标左键选中注释并拖动。4. 编辑注释编辑注释 单击注释文字,然后编辑。单击注释文字,然后编辑。5. 删除注释删除注释 按下按下Shift键,然后用鼠标选中注释文字,再按键,然后用鼠标选中注释文字,再按Delete键。键。6. 改变注释字体改变注释字体 要改变注释内容的字体,先选中注释,选择模型要改变

30、注释内容的字体,先选中注释,选择模型窗口菜单中的窗口菜单中的【Format Font】选项,就会出现选项,就会出现一个字体选择的对话框,选中认为合适的字体,一个字体选择的对话框,选中认为合适的字体,然后按然后按【OK】。10.2.5 创建复杂模型创建复杂模型 通过两个算例来说明建模中的其他一些技巧。通过两个算例来说明建模中的其他一些技巧。例例1: 一个生长在罐中的细菌的简单模型。假定细一个生长在罐中的细菌的简单模型。假定细菌的出生率和当前细菌的总数成正比,死亡率菌的出生率和当前细菌的总数成正比,死亡率和当前的总数的平方成正比。若以和当前的总数的平方成正比。若以x 代表当前代表当前细菌的总数,则

31、细菌的出生率可表示为细菌的总数,则细菌的出生率可表示为: 细菌的死亡率可表示为细菌的死亡率可表示为: 细菌总数的总变化率可表示为出生率与死亡率细菌总数的总变化率可表示为出生率与死亡率之差。因此系统可表示为如下的微分方程形式之差。因此系统可表示为如下的微分方程形式:_birthratebx2_deathratepx2xbxpx 假定假定b=1/h,p=0.5/h,当前细菌的总数为,当前细菌的总数为100,计,计算一个小时后罐中的细菌总数。算一个小时后罐中的细菌总数。 步骤一:添加模块步骤一:添加模块 这是一个一阶系统,因此一个用来解微分方程的这是一个一阶系统,因此一个用来解微分方程的积分模块是必

32、要的。积分模块的输入为积分模块是必要的。积分模块的输入为 ,输出,输出为为 。2xbxpxxx 模型的起始时间默认为模型的起始时间默认为0,终止时间默认为,终止时间默认为10.0。需要改变终止时间时,。需要改变终止时间时,【SimulationConfiguration Parameters】,打开模型参数对话框,设置打开模型参数对话框,设置【Stop time】为为10.0。 现在模型就全部完成了,选择现在模型就全部完成了,选择【FileSave】命令保存模型为命令保存模型为bio_example,Simulink将以将以bio_example.mdl为文件名保存到指定的位置。为文件名保存到

33、指定的位置。步骤四:运行模型步骤四:运行模型 双击示波器模块,并选择双击示波器模块,并选择【SimulinkStart】命令运行模型,示波器将绘制出仿真结果。命令运行模型,示波器将绘制出仿真结果。例例2: 三自由度结构强迫振动三自由度结构强迫振动(examp10_2_2.mdl) 已知参数:已知参数:m=1,k=1,p0=1,w=0.5 要求:采用要求:采用Simulink对系统进行动态仿真,对系统进行动态仿真, 计算时间计算时间050 解:解:1-1( )XKXP tMM 10.2.6 模型拷贝到模型拷贝到Word文档中文档中1. 模型拷贝到模型拷贝到Word文档文档 使用使用【EditCo

34、py Model】命令,然后在命令,然后在Word 中粘贴中粘贴.2. 模型在模型在Word文档中编辑文档中编辑 使用取消组合命令。使用取消组合命令。主要内容 SIMILINK与建模仿真与建模仿真模块的基本操作模块的基本操作运行仿真运行仿真基本模块介绍基本模块介绍连续系统连续系统子系统及其封装技术子系统及其封装技术10.3 运行仿真运行仿真 使用窗口仿真使用窗口仿真 使用使用MATLAB命令运行仿真命令运行仿真10.3.1 使用窗口运行仿真使用窗口运行仿真 优点:人机交互性强,不必记住繁琐的命优点:人机交互性强,不必记住繁琐的命 令语句即可进行操作。令语句即可进行操作。 设置仿真参数设置仿真参

35、数 选择菜单选项选择菜单选项【SimulationConfiguration Parameters】,可以对仿真参数及算法进行可以对仿真参数及算法进行 设置。设置。1. 解法设置页(解法设置页(Solver) 当选中菜单选项当选中菜单选项 【SimulationConfiguration Parameters】 后,出现参数及算法等设置页,再点击后,出现参数及算法等设置页,再点击 【Solver】,则出现解法设置页则出现解法设置页,如图所示。如图所示。各种ode命令地说明2. Data Import/Export面板面板 该面板主要用于向该面板主要用于向Matlab7.0工作空间输出工作空间输

36、出模型仿真结果数据,或从模型仿真结果数据,或从Matlab7.0工作空工作空间读入数据到模型,如图所示间读入数据到模型,如图所示。(1) 从从MATLAB工作空间加载工作空间加载 (Load from workspace) 虽然虽然Simulink提供了多种系统输入信号,但提供了多种系统输入信号,但并不能完全满足需要。并不能完全满足需要。Simulink允许使用用允许使用用户自定义的信号作为系统输入信号。在户自定义的信号作为系统输入信号。在Load from workspace框中,用户可以设置框中,用户可以设置MATLAB中的变量作为系统输入信号或系统中的变量作为系统输入信号或系统状态初值,

37、如下所述状态初值,如下所述. Input:用来设置系统输入信号,其格式为用来设置系统输入信号,其格式为t, u,其中,其中t、u 均为均为列向量列向量,t 为输入信为输入信号的时间向量,号的时间向量,u 为相应时刻的信号取值。为相应时刻的信号取值。可以使用多个信号输入,如可以使用多个信号输入,如t, u1, u2。输。输入信号与入信号与Simulink的接口由的接口由Inport模块模块(In1模块)实现。模块)实现。 Initial state:用来设置系统状态变量的初用来设置系统状态变量的初始值。初始值始值。初始值可为列向量可为列向量。(2) 仿真结果输出到仿真结果输出到MATLAB的工作

38、空间的工作空间 (Save to workspace) 可以将系统的仿真结果、系统仿真时刻、系统中可以将系统的仿真结果、系统仿真时刻、系统中的状态或指定的信号输出到的状态或指定的信号输出到MATLAB的工作空间的工作空间中,以便用户对其进行定量分析,如下所述。中,以便用户对其进行定量分析,如下所述。 Time:输出系统仿真时刻。:输出系统仿真时刻。 States:输出系统模型中的所有状态变量。:输出系统模型中的所有状态变量。 Output:输出系统模型中的所有由:输出系统模型中的所有由Output 模块模块(即(即Out1 模块)表示的信号。模块)表示的信号。 Final state:输出系统

39、模型中的最终状态变量取:输出系统模型中的最终状态变量取值,即最后仿真时刻处的状态值。值,即最后仿真时刻处的状态值。(3) 输出选项(输出选项(Save options) Limit data points to last:表示输出数据:表示输出数据的长度(从信号的最后数据点记起)。的长度(从信号的最后数据点记起)。 Format:表示输出数据类型。共有三种形:表示输出数据类型。共有三种形式:式:Structure with Time(带有仿真时间变带有仿真时间变量的结构体量的结构体)、Structure(不带仿真时间变不带仿真时间变量的结构体量的结构体)、Array(信号数组信号数组)。例:例

40、:假定两个输入信号都为正弦信号假定两个输入信号都为正弦信号sin(t), 并且假定初始值为并且假定初始值为0,1(examp10_3_1)y= sin(t)=-cos(t)+Cy1=-cos(t)+1y2=-cos(t)+2则(1)将将Load from workspace栏的两项全部选上,并栏的两项全部选上,并且将且将Input栏改写为栏改写为t, u, u; Initial state栏改写为栏改写为0,1(2)将将Save to workspace栏的四项全部选上。栏的四项全部选上。(3)Save option栏的三项分别为:栏的三项分别为:1000,1,Array(4)运行仿真前,首先

41、需要生成系统输入信号,在运行仿真前,首先需要生成系统输入信号,在MATLAB命令窗口命令窗口中键入如下命令:中键入如下命令: t=0:0.1:10;t=t; u=sin(t);示波器显示图形示波器显示图形01234567891000.511.522.53MATLAB命令窗口使用命令窗口使用Plot画出图形画出图形运行运行whos的结果:的结果: Name Size Bytes Class t 101x1 808 double array tout 51x1 408 double array u 101x1 808 double array xFinal 1x2 16 double array

42、xout 51x2 816 double array yout 51x2 816 double array 上面上面t和和tout的维数不相同,这是因为在的维数不相同,这是因为在Solver中中采用了变步长解法,若采用定步长法(步长取采用了变步长解法,若采用定步长法(步长取0.1)则维数相同。则维数相同。10.3.2 使用使用MATLAB命令运行仿真命令运行仿真 MATLAB提供了提供了sim命令,用户可以在命令,用户可以在MATLAB 的环境下以的环境下以命令行命令行或或M 文件文件的形式的形式运行运行Simulink模型。模型。 使用命令行方式,用户可以在脚本文件中重复使用命令行方式,用户

43、可以在脚本文件中重复地对同一系统在不同的仿真参数或不同的系统地对同一系统在不同的仿真参数或不同的系统模块参数下进行仿真,而无需一次又一次启动模块参数下进行仿真,而无需一次又一次启动Simulink图形窗口中的图形窗口中的Start Simulink。注:注:下面对进行动态系统仿真的命令逐一介绍。下面对进行动态系统仿真的命令逐一介绍。 首先看一个例子。首先看一个例子。 例:建立一个简单的动态系统,其功能如下:例:建立一个简单的动态系统,其功能如下: (1)系统的输入为一单位幅值、单位频率的正)系统的输入为一单位幅值、单位频率的正 弦信号;弦信号; (2)系统的输出信号为输入信号的积分。)系统的输

44、出信号为输入信号的积分。 要求如下:要求如下: (1)系统的输入信号由)系统的输入信号由MATLAB 工作空间中的工作空间中的 变量提供,时间变量提供,时间010s; (2)使用)使用MATLAB绘制原始输入信号与系统运绘制原始输入信号与系统运 算结果的曲线。算结果的曲线。问题描述:问题描述:原函数:原函数:sin(t) 时间区域:时间区域:t=010s原函数的积分为:原函数的积分为:若取零初始条件,则有:若取零初始条件,则有:C=1因此得到因此得到:x(t)= sin(t)dt=-cos(t)+Cx(t)=-cos(t)+1Simulink模型模型(保存文件名为保存文件名为:command_

45、in_out)1Out11/sIntegrator1In1 对对Data Impot/Export进行如下设置:进行如下设置: (1)Load from workspace 栏:栏:Input 打勾,打勾, 并填入并填入sim_input(由(由MATLAB 工作空间工作空间 输入的输入名)。输入的输入名)。Initial state 不选。不选。 (2)Save to workspace 栏:栏:Time 和和Output 项勾上,项勾上,State 和和Final state 项不勾。项不勾。 (3)Save options 栏依次为:栏依次为:1000, 1, Array 在在MATLA

46、B工作空间中定义输入变量工作空间中定义输入变量sim_input如下:如下: t = 0: 0.1: 10; t = t; % 表示输入信号的时表示输入信号的时 间范围间范围 u = sin( t ); % 产生输入正弦信号产生输入正弦信号 sim_input= t, u ; % 传递给传递给Simulink系系 统模型的变量统模型的变量 然后运行然后运行Simulink仿真。最后在仿真。最后在MATLAB工作空工作空间运行以下命令:间运行以下命令: plot(t,u,tout,yout,-);grid012345678910-1-0.500.511.52sin( )cos() 1utyout

47、tout10.3.2.1 使用使用sim命令进行动态系统仿真命令进行动态系统仿真1. 使用语法使用语法 sim命令的格式为:命令的格式为: t, x, y = sim( model, timespan, options, ut) t, x, y1, y2, , yn = sim( model, timespan, options, ut) 以上是完整的语法格式,实际使用时可以省略其中以上是完整的语法格式,实际使用时可以省略其中的某些参数设置而采用默认参数。除了参数的某些参数设置而采用默认参数。除了参数“model”外,其它的仿真参数设置均可以取值为外,其它的仿真参数设置均可以取值为空空矩阵矩阵

48、,此时,此时sim命令对没有设置的仿真参数使用默命令对没有设置的仿真参数使用默认的参数值进行仿真,默认的参数值由系统模型框认的参数值进行仿真,默认的参数值由系统模型框图决定。用户可以使用图决定。用户可以使用sim命令的命令的options 参数对可参数对可选参数进行设置,这样设置的仿真参数将覆盖模型选参数进行设置,这样设置的仿真参数将覆盖模型默认的参数。默认的参数。2. 参数说明参数说明(1) model:需要进行仿真的系统模型框图名称;:需要进行仿真的系统模型框图名称;(2) timespan:系统仿真的时间范围(起始至终止系统仿真的时间范围(起始至终止时间),可有如下形式:时间),可有如下

49、形式: tFinal:设置仿真终止时间。仿真起始时间默认设置仿真终止时间。仿真起始时间默认为为0; tStart tFinal:设置起始时间设置起始时间(tStart)与终止时与终止时间(间(tFinal);); tStart OutputTimes tFinal:设置起始时间:设置起始时间(tStart)与终止时间()与终止时间(tFinal),并且设置仿真),并且设置仿真返回的时间向量返回的时间向量tStart OutputTimes tFinal,其中其中tStart、OutputTimes、tFinal必须按照升序必须按照升序排列。排列。(3) options:由由simset命令所设

50、置的除仿真时间外命令所设置的除仿真时间外的的 仿真参数;仿真参数;(4) ut:表示系统模型顶层的外部可选输入。表示系统模型顶层的外部可选输入。ut可以可以是是MATLAB 函数。可以使用多个外部输入函数。可以使用多个外部输入ut1、ut2、。(5) t:返回系统仿真的时间向量。返回系统仿真的时间向量。(6) x:返回系统仿真的状态变量矩阵。返回系统仿真的状态变量矩阵。(7) y:返回系统仿真的输出矩阵。按照顶层输出返回系统仿真的输出矩阵。按照顶层输出Outport模块的顺序输出。如果输出信号为向量模块的顺序输出。如果输出信号为向量输出,则输出信号具有与此向量相同的维数。输出,则输出信号具有与

51、此向量相同的维数。(8) y1,yn:返回多个系统仿真的输出。返回多个系统仿真的输出。3 . 举例说明举例说明例例1:简单仿真简单仿真(examp10_3_3.m) 输入输入sin(t) 对于前面的动态系统对于前面的动态系统 command_in_out,在,在前面进行仿真时没有使用命令行方式,在此采用命前面进行仿真时没有使用命令行方式,在此采用命令行语句进行仿真。在仿真之前,首先使用仿真参令行语句进行仿真。在仿真之前,首先使用仿真参数设置对话框设置参数,然后在数设置对话框设置参数,然后在MATLAB命令窗口命令窗口中键入如下命令:中键入如下命令:( )cos( ) 1x ttclear, t

52、=0:0.1:10; t=t; %表示输入信号的表示输入信号的时间范围时间范围u=sin(t);sim_input=t,u; %传递给传递给Simulin系统模系统模 型的变量型的变量tout,x,yout=sim(command_in_out); %使用使用sim进行系统仿真,仿真参数取与前面进行系统仿真,仿真参数取与前面相同相同plot(t,u,tout,yout,-); grid0246810-1-0.500.511.52例例2:仿真时间设置仿真时间设置 在前面已经对在前面已经对sim命令中的仿真时间参数命令中的仿真时间参数timespan设置做了介绍。设置做了介绍。timespan具有

53、三种使具有三种使用形式,根据不同动态系统的不同要求,用户可用形式,根据不同动态系统的不同要求,用户可以选择使用如下所示的三种形式进行系统仿真:以选择使用如下所示的三种形式进行系统仿真: t, x, y =sim(model, tFinal) t, x, y = sim(model, tStart, tFinal) t, x, y =sim( model, tStart outputTimes tFinal) 此外在默认情况下,系统仿真的输出结果此外在默认情况下,系统仿真的输出结果(输出时间、状态和运算结果)受到(输出时间、状态和运算结果)受到Simulink求求解器仿真步长的控制,因而系统仿真

54、输出结果也受解器仿真步长的控制,因而系统仿真输出结果也受到求解器步长的控制。到求解器步长的控制。 如果需要在指定的时刻输出系统仿真结果,如果需要在指定的时刻输出系统仿真结果,则需要使用仿真时间设置的第三种方式,其中则需要使用仿真时间设置的第三种方式,其中tStart outputTimes tFinal表示输出时间向量,表示输出时间向量,此向量为一递增行向量。在此向量为一递增行向量。在sim命令中使用命令中使用timespan设置系统仿真时间范围,会覆盖设置系统仿真时间范围,会覆盖Simulink原来的仿真时间设置,但是并不会影响原来的仿真时间设置,但是并不会影响到系统模型。到系统模型。 以前

55、面以前面command_in_out为例进行说明。为例进行说明。仿真参数设置对话框内的设置与前面相同。使仿真参数设置对话框内的设置与前面相同。使用四组不同的仿真时间对此系统进行仿真。用四组不同的仿真时间对此系统进行仿真。 为了与系统模型文件为了与系统模型文件command_in_out.mdl区别,所编制的区别,所编制的M文件名取为文件名取为command_in_out_m.m。若。若M文件名取为文件名取为command_in_out.m,则在,则在MATLAB工作空间工作空间运行时,将返回系统模型文件框图。程序如下:运行时,将返回系统模型文件框图。程序如下:t=0:0.1:10; t=t;

56、u=sin(t); sim_input=t,u;tout1,x1,yout1=sim(command_in_out,5); 仿真时间范围仿真时间范围05s,输出时间向量,输出时间向量tout1 由由Simulimk的求解的求解器步长决定器步长决定tout2,x2,yout2=sim(command_in_out,1 8); 仿真时间范围仿真时间范围18s,输出时间向量,输出时间向量tout2 由由Simulimk的求解的求解器步长决定器步长决定tout3,x3,yout3=sim(command_in_out,1:8); 仿真时间范围仿真时间范围18s,并且每隔,并且每隔1s 输出一次,即输出

57、时间变量输出一次,即输出时间变量为为1 2 3 4 5 6 7 8tout4,x4,yout4=sim(command_in_out,1:0.2:8); 仿真时间范围仿真时间范围18s,并且每隔,并且每隔0.2s 输出一次,即输出时间变输出一次,即输出时间变量为量为1 1.2 1.4 7.6 7.8 8subplot(2,2,1); plot(t,u,tout1,yout1,*);subplot(2,2,2); plot(t,u,tout2,yout2,*);subplot(2,2,3); plot(t,u,tout3,yout3,*); subplot(2,2,4); plot(t,u,to

58、ut4,yout4,*)10120510-10120510-1012 sin( )( )cos( ) 1tx tt输入 :例例3:外部输入变量设置外部输入变量设置 前面对动态系统前面对动态系统command_in_out进行仿真进行仿真时,通过设置时,通过设置Simulink仿真参数设置对话框中仿真参数设置对话框中Data Import/Export面板中的外部变量输入,以使系统面板中的外部变量输入,以使系统在仿真过程中获取输入信号在仿真过程中获取输入信号sim_input。除了使用。除了使用这种方法从这种方法从MATLAB工作空间中获得系统输入信号工作空间中获得

59、系统输入信号之外,用户还可以通过使用之外,用户还可以通过使用sim命令中的命令中的ut参数来参数来设置系统的外部输入信号。下面介绍如何使用设置系统的外部输入信号。下面介绍如何使用ut参参数设置外部输入信号。数设置外部输入信号。 以以command_in_out为例进行说明。使用如为例进行说明。使用如下命令:下命令: t, x, y=sim(model, timespan, options, ut) ut为一个具有两列的矩阵,第一列表示外部输入信为一个具有两列的矩阵,第一列表示外部输入信号的时间,第二列代表与时间列相对应的外部输入号的时间,第二列代表与时间列相对应的外部输入信号。信号。MATLA

60、B程序程序(command_in_out_m2.m)t=0:0.1:10; t=t; u=sin(t); sim_input=t, u;tout1, x1, yout1=sim(command_in_out, 10); 使用使用Simulink仿真参数对话框中的仿真参数对话框中的workspace I/O 从从MATLAB 工作空间中获得输入信号工作空间中获得输入信号u=cos(t);ut=t, u; 改变系统输入信号改变系统输入信号tout2, x2, yout2=sim(command_in_out, 10, , ut); 使用使用Sim中的中的ut参数获得系统输入信号,参数获得系统输入信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论