您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Simulink动态系统建模与仿真
第1章Simulink基础第1章Simulink基础1.1Simulink简介1.2运行Simulink演示程序1.3建立一个简单的Simulink模型1.4保存Simulink模型1.5打印及HTML报告1.6打印边框编辑器1.7Simulink参数设置第1章Simulink基础1.1Simulink简介Simulink是一个用来建模、仿真和分析动态系统的软件包。它基于MATLAB的框图设计环境,支持线性系统和非线性系统,可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的可视的图形用户接口(GUI),用户可以在这个可视窗口中通过单击和拖动鼠标操作来完成系统建模。利用这个接口,用户可以像用笔在草纸上绘制模型一样,只要构建出系统的方块图即可。这与以前的仿真软件包要求解算微分方程和编写算法语言程序不同,它提供的是一种更快捷、更直接明了的方式,而且用户可以立即看到系统的仿真结果。第1章Simulink基础Simulink中包括了许多实现不同功能的模块库。在Simulink6.6中共有16个模块库,这些模块库把各种功能不同的模块分类存放,如Sources(输入源模块库)、Sinks(输出模块库)、MathOperations(数学模块库)以及线性模块和非线性模块等各种组件模块库。用户也可以自定义和创建自己的模块。利用这些模块,用户可以创建层级式的系统模型,可以自上而下或自下而上地阅读模型,也就是说,用户可以浏览最顶层的系统,然后用鼠标双击模型中的子系统模块,打开并查看该子系统模型。这不仅方便了工程人员的设计,而且可以使自己的模型方块图功能更清晰,结构更合理。第1章Simulink基础创建了系统模型后,用户可以利用Simulink菜单或在MATLAB命令窗口中键入命令的方式选择不同的积分方法来仿真系统模型。对于交互式的仿真过程,使用菜单是非常方便的,但要运行大量的仿真,使用命令行方法则更为有效。例如,执行蒙特卡洛仿真或想要扫描某一范围的参数值时,可以在命令行中输入变参数值,观察参数值改变后的系统输出。此外,利用示波器模块或其他的显示模块,用户可以在仿真运行的同时观察仿真结果,而且可以在仿真运行期间改变仿真参数,并同时观察改变后的仿真结果。最后的结果数据可以输出到MATLAB工作区进行后续处理,或利用命令行命令在图形窗口中绘制仿真曲线。第1章Simulink基础Simulink中的模型分析工具包括线性化工具和调整工具,这可以从MATLAB命令行获取。MATLAB及其工具箱内还有许多其他的适用于不同工程领域的分析工具。由于MATLAB和Simulink是集成在一起的,因此无论何时用户都可以在这两个环境中仿真、分析和修改模型。Simulink系统建模的主要特性如下:框图式建模。Simulink提供了一个图形化的建模环境,通过鼠标单击和拖拉操作Simulink模块,用户可以在图形化的可视环境中进行框图式建模。支持非线性系统。支持混合系统仿真,即系统中包含连续采样时间和离散采样时间的系统。第1章Simulink基础支持多速率系统仿真,即系统中存在以不同速率运行的组件。Simulink建立的系统模型可以是层级模型,因此用户可以采用自下而上或自上而下的方式建立模型,并一层一层地查看各级模型。用户可以根据需要建立自定义子系统,并把自定义子系统内的模块进行封装,封装后的自定义子系统具有与Simulink内嵌模块同样的属性,并可由用户设置模块的属性参数。所有的自定义子系统均可在系统模型中使用。MATLAB与Simulink集成在一起,因此,无论何时在这两个环境中的任一环境下都可以建模、分析和仿真用户模型。第1章Simulink基础1.2运行Simulink演示程序Simulink自带了许多模型演示程序,这些演示程序分别说明了利用Simulink模块搭建的功能不同的模型系统。这里以房屋热力学系统模型为例介绍系统模型的组成及功能,以使读者对Simulink有一个基本认识。1.2.1运行房屋热力学系统演示模型首先运行MATLAB,在MATLAB的命令窗口内键入下列命令(如图1-1所示):mdl='sldemo_househeat';open_system(mdl);第1章Simulink基础图1-2第1章Simulink基础图1-2显示的是房屋热力学系统模型的全貌。在模型图的最右侧有一个标注为PlotResults(系统曲线图)的模块,它实际上实现的就是示波器功能,双击该模块,可以打开示波器。在这个例程中,示波器中显示的是Indoorvs.OutdoorTemp(室内与室外温度)和HeatCost(加热费用)三条曲线。第1章Simulink基础为了仿真这个模型系统,首先需要设置仿真参数,这里利用演示模型中已设置好的仿真参数进行仿真。选择Simulation菜单下的Start命令,或者单击Simulink工具栏上的“开始”按钮,系统开始按照模型中设置的参数进行仿真,仿真结果曲线将显示在示波器中。当打开加热器时,系统会自动计算加热所需要的费用,并将加热费用(HeatCost($))曲线在示波器中显示出来,而室内温度(IndoorTemp)也同时显示在示波器中。若要停止仿真,可选择Simulation菜单下的Stop命令,或者单击Simulink工具栏上的“停止”按钮。仿真结束后,选择File菜单下的Close命令关闭模型。图1-3是显示在示波器中的房屋热力学系统模型仿真结果曲线。第1章Simulink基础图1-3第1章Simulink基础1.2.2房屋热力学系统模型说明演示程序使用Simulink模块建立了简单的房屋热力学系统模型,该模型使用Simulink中子系统模型的概念来简化模型图,并创建了可重用系统。Simulink中的子系统是一组由Subsystem(子系统)模块表示的模块组。房屋热力学系统模型包括5个子系统:Thermostat(恒温器)子系统、House(房屋)子系统、Heater(加热器子系统)、FahrenheittoCelsius(将华氏温度转换为摄氏温度)子系统和CelsiustoFahrenheit(将摄氏温度转换为华氏温度)子系统。模型最前端的“SetPoint”模块是常值模块,它设置了屋内的恒温值,这里给出的缺省值是70华氏度,经过计算后可转换为摄氏度。第1章Simulink基础图1-4显示的是恒温器子系统模型,双击模型中的“Thermostat”模块,可打开该子系统。模型中的恒温器(Thermostat)系统设置为70华氏度,这个温度受户外温度的影响,并按照幅值为15华氏度、基值温度为50华氏度的正弦波变化,这个模型模拟了每天的温度波动。该子系统由一个继电器模块组成,该模块将模块输入与阈值相比较,并输出指定的“打开”值和“关闭”值,它实际上控制了加热器系统的打开和关闭时间。第1章Simulink基础图1-4第1章Simulink基础图1-5显示的是加热器子系统模型,双击模型中的“Heater”模块,可打开该子系统。图1-5第1章Simulink基础加热器子系统是一个常值空气流速子系统,子系统中的Mdot值在sldemo_househeat_data.m文件中设置,它表示空气流速,Mdot=1kg/s=3600kg/h。该子系统的打开和关闭由其输入端的恒温器子系统的输出信号进行控制。当加热器打开时,它以常值的空气流动速率Mdot吹进温度为Theater的热空气,缺省时,Theater等于50摄氏度,即122华氏度。加热器子系统的热流速公式如下:CTTtQMdot)(ddroomheater第1章Simulink基础其中:tQdd——从加热器到房屋的热流速;C——常压下的空气热容量;Mdot——通过加热器的空气质量流速(kg/h);heaterT——加热器的热空气温度;roomT——房屋当前的空气温度。第1章Simulink基础图1-6显示的是房屋子系统模型,双击模型中的“House”模块,可打开该子系统。内部温度和外部温度均传送到该子系统,并由该子系统经过转换后更新和输出内部温度。房屋子系统用来计算房间的温度变动,它考虑了加热器的热流和环境中的热量损失。热量损失及温度的时间导数方程分别如下:eqoutroomlossesddRTTtQtQtQCMtTdddd1ddlossesheaterairroom其中:Mair——房内的空气质量;Req——房屋的等效热电阻。第1章Simulink基础图1-6第1章Simulink基础图1-7第1章Simulink基础房屋热力学系统是一个很典型的系统,它包括了模型创建过程中通常需要完成的工作,主要有:(1)运行模型仿真时需要指定仿真参数,并利用Start命令开始仿真。(2)用户可以把一组相关的模块组包含在一个模块中,这个模块称为子系统模块。(3)在sldemo_househeat模型中,所有的子系统都利用封装特性创建了自定义图标,用户也可以利用封装特性为模块创建自定义的图标,并设计模块对话框。(4) Scope模块与实际的示波器模块一样可以显示图形输出。第1章Simulink基础读者可以试一试下面的几种方法,在示波器中察看模型的不同参数设置是如何影响响应曲线的。每个Scope模块可以设置多个信号显示窗口,用户可以控制每个窗口中显示的信号数目,并设置显示的信号范围,如果需要,用户也可以放大显示信号曲线。在每个信号显示区域内,水平轴代表的是时间值,垂直轴代表的是信号值。标有SetPoint(在模型的左上角)的Constant(常值)模块用来设置所希望的温度值,打开该模块,并将温度值重新设置为80度,看看室内温度和加热费用是如何变化的。也可以调整室外温度(ArgOutdoorTemp模块),看看它对仿真结果有何影响。打开标有DailyTempVariation(每日温度变化)的SineWave(正弦波)模块,改变Amplitude(幅值)参数,调整每日的温度变化值,观察输出曲线的变化。第1章Simulink基础1.2.3其他Simulink演示程序Simulink还提供了其他演示程序,用以说明Simulink中的各种建模和仿真概念,用户可以从MATLAB的命令窗口中打开这些演示程序。首先在MATLAB命令窗口的左下角单击Start按钮,打开Start菜单,如图1-8所示。在菜单中选择Demos命令,MATLAB的帮助浏览器会显示Simulink的Demos选项面板,单击Simulink显示演示程序的目录,双击这些条目就可以启动相应的演示程序,如图1-9所示。第1章Simulink基础图1-8第1章Simulink基础图1-9第1章Simulink基础1.3建立一个简单的Simulink模型本节引导读者创建一个如图1-10所示的简单的Simulink模型,模型中的输入是一个正弦波信号,该信号经过增益器放大5倍。第1章Simulink基础图1-10第1章Simulink基础图1-10中用两个示波器显示波形,标注为Scope的示波器用来显示经过放大后的正弦波信号,标注为Scope1的示波器用来显示原正弦波信号和经过放大的正弦波信号的比较波形。为了创建系统模型图,首先在MATLAB命令窗口中键入Simulink命令,或者单击工具条上的“Simulink”按钮,打开Simulink库浏览器,如图1-11所示。从图中可以看到,Simulink库浏览器是一个以树状结构排列的浏览器,在Simulink目录下列举的是Simulink的模块库,不同功能的模块分类存放在各个模块库中。关于Simulink模块库中各模块的功能,读者可以参看附录C“Simulink模块简介”。第1章Simulink基础图1-11第1章Simulink基础接下来,在Simulink库浏览器的工具条上选择“新建”按钮,将打开一个空白的模型创建窗口,
本文标题:Simulink动态系统建模与仿真
链接地址:https://www.777doc.com/doc-5588595 .html