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