返回首页

MATLAB程序设计教程(12)—SIMULINK动态仿真集成环境

时间:2012-07-01 01:45来源:知行网www.zhixing123.cn 编辑:麦田守望者

第12章 SIMULINK动态仿真集成环境

12.1 Simulink操作基础

12.2 系统仿真模型

12.3 系统的仿真

12.4 使用命令操作对系统进行仿真

12.5 子系统及其封装技术

12.6 S函数的设计与应用

 

12.1 Simulink操作基础

12.1.1 Simulink简介

Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。

 

12.1.2 Simulink的启动与退出

1.Simulink的启动

在MATLAB的命令窗口输入simulink或单击MATLAB主窗口工具栏上的Simulink命令按钮即可启动Simulink。Simulink启动后会显示Simulink模块库浏览器(Simulink Library Browser)窗口。

 

在MATLAB主窗口File菜单中选择New菜单项下的Model命令,在出现Simulink模块库浏览器的同时,还会出现一个名字为untitled的模型编辑窗口。在启动Simulink模块库浏览器后再单击其工具栏中的Create a new model命令按钮,也会弹出模型编辑窗口。利用模型编辑窗口,可以通过鼠标的拖放操作创建一个模型。

 

模型创建完成后,从模型编辑窗口的File菜单项中选择Save或Save As命令,可以将模型以模型文件的格式(扩展名为.mdl)存入磁盘。

如果要对一个已经存在的模型文件进行编辑修改,需要打开该模型文件,其方法是,在MATLAB命令窗口直接输入模型文件名(不要加扩展名.mdl)。在模块库浏览器窗口或模型编辑窗口的File菜单中选择Open命令,然后选择或输入欲编辑模型的名字,也能打开已经存在的模型文件。另外,单击模块库浏览器窗口工具栏上的Open a model命令按钮或模型编辑窗口工具栏上的Open model命令按钮,也能打开已经存在的模型文件。

 

2.Simulink的退出

为了退出Simulink,只要关闭所有模型编辑窗口和Simulink模块库浏览器窗口即可。

 

12.2 系统仿真模型

12.2.1 Simulink的基本模块

Simulink的模块库提供了大量模块。单击模块库浏览器中Simulink前面的“+”号,将看到Simulink模块库中包含的子模块库,单击所需要的子模块库,在右边的窗口中将看到相应的基本模块,选择所需基本模块,可用鼠标将其拖到模型编辑窗口。同样,在模块库浏览器左侧的Simulink栏上单击鼠标右键,在弹出的快捷菜单中单击Open the ‘Simulink’ Libray 命令,将打开Simulink基本模块库窗口。单击其中的子模块库图标,打开子模块库,找到仿真所需要的基本模块。

 

12.2.2 模块的编辑

1.添加模块

2.选取模块

3.复制与删除模块

4.模块外形的调整

5.模块名的处理

 

12.2.3 模块的连接

1.连接两个模块

2.模块间连线的调整

3.连线的分支

4.标注连线

5.删除连线

 

12.2.4 模块的参数和属性设置

1.模块的参数设置

Simulink中几乎所有模块的参数都允许用户进行设置,只要双击要设置的模块或在模块上按鼠标右键并在弹出的快捷菜单中选择相应模块的参数设置命令就会弹出模块参数对话框。该对话框分为两部分,上面一部分是模块功能说明,下面一部分用来进行模块参数设置。

同样,先选择要设置的模块,再在模型编辑窗口Edit菜单下选择相应模块的参数设置命令也可以打开模块参数对话框。

 

2.模块的属性设置

选定要设置属性的模块,然后在模块上按鼠标右键并在弹出的快捷菜单中选择Block properties,或先选择要设置的模块,再在模型编辑窗口的Edit菜单下选择Block properties命令,将打开模块属性对话框。该对话框包括General、Block annotation和Callbacks 3个可以相互切换的选项卡。其中选项卡中可以设置3个基本属性:Description(说明)、Priority(优先级) 、Tag(标记)。

 

例12-1 有系统的微分方程,试建立系统仿真模型。

操作过程如下:

(1) 在MATLAB主菜单中,选择File菜单中New菜单项的Model命令,打开一个模型编辑窗口。

(2) 将所需模块添加到模型中。

(3) 设置模块参数并连接各个模块组成仿真模型。

设置模块参数后,用连线将各个模块连接起来组成系统仿真模型。模型建好后,从模型编辑窗口的File菜单中选择Save或Save as命令将它存盘。

 


12.3 系统的仿真

12.3.1 设置仿真参数

打开系统仿真模型,从模型编辑窗口的Simulation菜单中选择Simulation parameters命令,打开一个仿真参数对话框,在其中可以设置仿真参数。仿真参数对话框包含5个可以相互切换的选项卡:

(1) Solver选项卡:用于设置仿真起始和停止时间,选择微分方程求解算法并为其规定参数,以及选择某些输出选项。

(2) Workspace I/O选项卡:用于管理对MATLAB工作空间的输入和输出。

(3) Diagnostics选项卡:用于设置在仿真过程中出现各类错误时发出警告的等级。

(4) Advanced选项卡:用于设置一些高级仿真属性,更好地控制仿真过程。

(5) Real-time Workshop选项卡:用于设置若干实时工具中的参数。如果没有安装实时工具箱,则将不出现该选项卡。

 

12.3.2 启动系统仿真与仿真结果分析

设置完仿真参数之后,从Simulation中选择Start菜单项或单击模型编辑窗口中的Start Simulation命令按钮,便可启动对当前模型的仿真。此时,Start菜单项变成不可选, 而Stop菜单项变成可选, 以供中途停止仿真使用。从Simulation菜单中选择Stop项停止仿真后,Start项又变成可选。

为了观察仿真结果的变化轨迹可以采用3种方法:

(1) 把输出结果送给Scope模块或者XY Graph模块。

(2) 把仿真结果送到输出端口并作为返回变量,然后使用MATLAB命令画出该变量的变化曲线。

(3) 把输出结果送到To Workspace模块,从而将结果直接存入工作空间,然后用MATLAB命令画出该变量的变化曲线。

 

例12-2 利用Simulink仿真曲线。

仿真过程如下:

(1) 启动Simulink并打开模型编辑窗口。

(2) 将所需模块添加到模型中。

(3) 设置模块参数并连接各个模块组成仿真模型。

设置模块参数后,用连线将各个模块连接起来组成仿真模型。

(4) 设置系统仿真参数。

(5) 开始系统仿真。

(6) 观察仿真结果。

 

例12-3 利用Simulink仿真求定积分。

仿真过程如下:

(1) 打开一个模型编辑窗口。

(2) 将所需模块添加到模型中。

(3) 设置模块参数并连接各个模块组成仿真模型。

(4) 设置系统仿真参数。

(5) 开始系统仿真。

(6) 观察仿真结果。

 

12.3.3 系统仿真实例

至此,可以总结出利用Simulink进行系统仿真的步骤如下:

(1) 建立系统仿真模型,这包括添加模块、设置模块参数以及进行模块连接等操作。

(2) 设置仿真参数。

(3) 启动仿真并分析仿真结果。

例12-4 有初始状态为0的二阶微分方程x"+0.2x'+0.4x=0.2u (t), 其中u(t)是单位阶跃函数,试建立系统模型并仿真。

方法1:用积分器直接构造求解微分方程的模型。

方法2:利用传递函数模块建模。

方法3:利用状态方程模块建模。

 


12.4 使用命令操作对系统进行仿真

从命令窗口运行仿真的函数有4个,即sim、simset、simget和set_param。

1.sim函数

sim函数的作用是运行一个由Simulink建立的模型,其调用格式为:

[t, x, y ] =sim(modname,timespan,options,data);

 

2.simset函数

simset 函数用来为sim函数建立或编辑仿真参数或规定算法,并把设置结果保存在一个结构变量中。它有如下4种用法:

(1) options=simset(property,value,…):把property代表的参数赋值为value,结果保存在结构options中。

(2) options=simset(old_opstruct,property,value,…):把已有的结构old_opstruct(由simset产生)中的参数property重新赋值为value,结果保存在新结构options中。

(3) options=simset(old_opstruct,new_opstruct):用结构new_opstruct的值替代已经存在的结构old_opstruct的值。

(4) simset:显示所有的参数名和它们可能的值。

 

3.simget函数

simget函数用来获得模型的参数设置值。如果参数值是用一个变量名定义的,simget返回的也是该变量的值而不是变量名。如果该变量在工作空间中不存在(即变量未被赋值),则Simulink给出一个出错信息。该函数有如下3种用法:

(1) struct=simget(modname):返回指定模型model的参数设置的options结构。

(2) value=simget(modname,property):返回指定模型model的参数property的值。

(3) value=simget(options,property):获取options结构中的参数property的值。如果在该结构中未指定该参数,则返回一个空阵。

用户只需输入能够唯一识别它的那个参数名称的前几个字符即可,对参数名称中字母的大小写不作区别。

 

4.set_param函数

set_param函数的功能很多,这里只介绍如何用set_param函数设置Simulink仿真参数以及如何开始、暂停、终止仿真进程或者更新显示一个仿真模型。

(1) 设置仿真参数

调用格式为:

set_param(modname,property,value,…)

其中modname为设置的模型名,property为要设置的参数,value是设置值。这里设置的参数可以有很多种,而且和用simset设置的内容不尽相同,相关参数的设置可以参考有关资料。

(2) 控制仿真进程

调用格式为:

------分隔线----------------------------
标签(Tag):MATLAB Matlab技巧 Matlab实例教程 matlab源代码 matlab基础教程
------分隔线----------------------------
推荐内容
猜你感兴趣