Simulink建模与仿真
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上 页 下6 页
Simulink模型并不一定要包含全部的三种元素,在实际应用 中通常可以缺少其中的一个或两个。
例如,若要模拟一个系统偏离平衡位置后的恢复行为,就可 以建立一个没有输入而只有系统模块加一个显示模块的模型。
在某种情况下,也可以建立一个只有源模块和显示模块的系 统。若需要一个由几个函数复合的特殊信号,则可以使用源模块 生成信号并将其送入Matlab工作间或文件中。
SimulinkБайду номын сангаас仿真基础
1 Simulink的概述 2 基本操作 3 基本模块 4 建模方法 5 系统仿真举例
1
3.1 Simulink的概述
Simulink已经成为动态系统建模和仿真领域中应用最为广泛的软件之 一。Simulink可以很方便地创建和维护一个完整的模块,评估不同的 算法和结构,并验证系统的性能。由于Simulink是采用模块组合方式 来建模,从而可以使得用户能够快速、准确地创建动态系统的计算机 仿真模型,特别是对复杂的不确定非线性系统,更为方便。
3.2.2、仿真运行原理
Simulink仿真包括两个阶段;初始化阶段和模型执行阶段
(1) 模块初始化
在初始化阶段主要完成以下工作: ① 模型参数传给Matlab进行估值,得到的数值结果将作为模型 的实际参数; ② 展开模型的各个层次,每一个非条件执行的子系统被它所包 含的模块所代替;
上 页 下7 页
意信号、参数、属性,生成模型代码 ; (5)提供API(Application Programming Interface,应用程序编程接口)
用于与其他仿真程序的连接或与手写代码集成 ; (6)使用Embedded MATLAB™ 模块在Simulink和嵌入式系统
执行中调用MATLAB算法 ; (7)使用定步长或变步长运行仿真,根据仿真模式(Normal,
(2) 在MATLAB6.5的命令窗口中输入simulink3
结果是在桌面上出现一个用图标形式显示的Library :simulink3的 Simulink模块库窗口。
两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜
好进行选用,一般说来第二种窗口直观、形象,易于初学者,但
使用时会打开太多的子窗口。
Simulink模型可以用来模拟线性和非线性、连续和离散或者两者的混 合系统,也就是说它可以用来模拟几乎所有可能遇到的动态系统。另 外Simulink还提供一套图形动画的处理方法,使用户可以方便的观察 到仿真的整个过程。
Simulink没有单独的语言,但是它提供了S函数规则。所谓的S函数可 以是一个M函数文件、FORTRAN程序、C或C++语言程序等,通过特 殊的语法规则使之能够被Simulink模型或模块调用。S函数使 Simulink更加充实、完备,具有更强的处理能力。
(3) 在MATLAB6.5的主桌面中的工具栏中点击图标 (与第 (1)种所打开的窗口一样)
即可.
上 页 下5 页
3.2 基本操作
3.2.1 模型基本结构
一个典型的Simulink模型包括如下三种类型的元素: ① 信号源模块 ② 被模拟的系统模块 ③ 输出显示模块
源模块
系统模块
显示模块
图3.1.1 Simulink模型元素关联图 如图3.1.1所示说明了这三种元素之间的典型关系。 ▽ 系统模块作为中心模块,是Simulink仿真建模所要解决的主要部分; ▽ 信号源模块为系统的输入,它包括常数信号源或函数信号发生器(如正 弦和阶跃函数波等)和用户自己在Matlab中创建的自定义信号。 ▽ 显示模块主要是接收系统的输出,输出显示的形式包括图形显示,示波器 显示和输出到文件或MATLAB工作空间中三种. 输出模块主要在Sinks库中。
上 页 下4 页
Simulink的启动
(1) 在MATLAB6.5的命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browser的窗口, 在这个窗口中列出了按功能分类的各种模块的名称。 当然用户也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。
综上所述,Simulink就是一种开放性的,用来模拟线性或非线 性的以及连续或离散的或者两者混合的动态系统的强有力的系 统级仿真工具。
上 页 下3 页
Simulink的特点:
(1)丰富的可扩充的预定义模块库 ; (2)交互式的图形编辑器来组合和管理直观的模块图 ; (3)以设计功能的层次性来分割模型,实现对复杂设计的管理; (4)通过Model Explorer 导航、创建、配置、搜索模型中的任
⑤ 决定所有无显示设定采样时间的模块的采样时间; ⑥ 分配和初始化用于存储每个模块的状态和输入当前值的存储空间。
Accelerator,Rapid Accelerator)来决定以解释性的方式运行 或以编译C代码的形式来运行模型 ; (8)图形化的调试器和剖析器来检查仿真结果,诊断设计的性 能和异常行为 ; (9)可访问MATLAB从而对结果进行分析与可视化,定制建模环境, 定义信号参数和测试数据; (10)模型分析和诊断工具来保证模型的一致性,确定模型中的错误。
③ 模型中的模块按更新的次序进行排序。排序算法产生一个列表以确 保具有代数环的模块在产生它的驱动输入的模块被更新后才更新。 当然,这一步要先检测出模型中存在的代数环。
④ 决定模型中有无显示设定的信号属性,例如名称、数据类型、数值 类型以及大小等,并且检查每个模块是否能够接受连接到它输入端 的信号。Simulink使用属性传递的过程来确定未被设定的属性,这 个过程将源信号的属性传递到它所驱动的模块的输入信号;
上 页 下2 页
同Matlab一样,Simulink也不是封闭的,他允许用户可以很方便 的定制自己的模块和模块库。同时Simulink也同样有比较完整 的帮助系统,使用户可以随时找到对应模块的说明,便于应用。
目前,随着软件的升级换代,在软硬件的接口方面有了很大的 改进,使用Simulink可以很方便地进行实时的信号控制和处理、 信息通信以及DSP的处理。世界上许多知名的大公司已经使用 Simulink作为他们产品设计和开发的强有力工具。
Simulink模型并不一定要包含全部的三种元素,在实际应用 中通常可以缺少其中的一个或两个。
例如,若要模拟一个系统偏离平衡位置后的恢复行为,就可 以建立一个没有输入而只有系统模块加一个显示模块的模型。
在某种情况下,也可以建立一个只有源模块和显示模块的系 统。若需要一个由几个函数复合的特殊信号,则可以使用源模块 生成信号并将其送入Matlab工作间或文件中。
SimulinkБайду номын сангаас仿真基础
1 Simulink的概述 2 基本操作 3 基本模块 4 建模方法 5 系统仿真举例
1
3.1 Simulink的概述
Simulink已经成为动态系统建模和仿真领域中应用最为广泛的软件之 一。Simulink可以很方便地创建和维护一个完整的模块,评估不同的 算法和结构,并验证系统的性能。由于Simulink是采用模块组合方式 来建模,从而可以使得用户能够快速、准确地创建动态系统的计算机 仿真模型,特别是对复杂的不确定非线性系统,更为方便。
3.2.2、仿真运行原理
Simulink仿真包括两个阶段;初始化阶段和模型执行阶段
(1) 模块初始化
在初始化阶段主要完成以下工作: ① 模型参数传给Matlab进行估值,得到的数值结果将作为模型 的实际参数; ② 展开模型的各个层次,每一个非条件执行的子系统被它所包 含的模块所代替;
上 页 下7 页
意信号、参数、属性,生成模型代码 ; (5)提供API(Application Programming Interface,应用程序编程接口)
用于与其他仿真程序的连接或与手写代码集成 ; (6)使用Embedded MATLAB™ 模块在Simulink和嵌入式系统
执行中调用MATLAB算法 ; (7)使用定步长或变步长运行仿真,根据仿真模式(Normal,
(2) 在MATLAB6.5的命令窗口中输入simulink3
结果是在桌面上出现一个用图标形式显示的Library :simulink3的 Simulink模块库窗口。
两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜
好进行选用,一般说来第二种窗口直观、形象,易于初学者,但
使用时会打开太多的子窗口。
Simulink模型可以用来模拟线性和非线性、连续和离散或者两者的混 合系统,也就是说它可以用来模拟几乎所有可能遇到的动态系统。另 外Simulink还提供一套图形动画的处理方法,使用户可以方便的观察 到仿真的整个过程。
Simulink没有单独的语言,但是它提供了S函数规则。所谓的S函数可 以是一个M函数文件、FORTRAN程序、C或C++语言程序等,通过特 殊的语法规则使之能够被Simulink模型或模块调用。S函数使 Simulink更加充实、完备,具有更强的处理能力。
(3) 在MATLAB6.5的主桌面中的工具栏中点击图标 (与第 (1)种所打开的窗口一样)
即可.
上 页 下5 页
3.2 基本操作
3.2.1 模型基本结构
一个典型的Simulink模型包括如下三种类型的元素: ① 信号源模块 ② 被模拟的系统模块 ③ 输出显示模块
源模块
系统模块
显示模块
图3.1.1 Simulink模型元素关联图 如图3.1.1所示说明了这三种元素之间的典型关系。 ▽ 系统模块作为中心模块,是Simulink仿真建模所要解决的主要部分; ▽ 信号源模块为系统的输入,它包括常数信号源或函数信号发生器(如正 弦和阶跃函数波等)和用户自己在Matlab中创建的自定义信号。 ▽ 显示模块主要是接收系统的输出,输出显示的形式包括图形显示,示波器 显示和输出到文件或MATLAB工作空间中三种. 输出模块主要在Sinks库中。
上 页 下4 页
Simulink的启动
(1) 在MATLAB6.5的命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browser的窗口, 在这个窗口中列出了按功能分类的各种模块的名称。 当然用户也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。
综上所述,Simulink就是一种开放性的,用来模拟线性或非线 性的以及连续或离散的或者两者混合的动态系统的强有力的系 统级仿真工具。
上 页 下3 页
Simulink的特点:
(1)丰富的可扩充的预定义模块库 ; (2)交互式的图形编辑器来组合和管理直观的模块图 ; (3)以设计功能的层次性来分割模型,实现对复杂设计的管理; (4)通过Model Explorer 导航、创建、配置、搜索模型中的任
⑤ 决定所有无显示设定采样时间的模块的采样时间; ⑥ 分配和初始化用于存储每个模块的状态和输入当前值的存储空间。
Accelerator,Rapid Accelerator)来决定以解释性的方式运行 或以编译C代码的形式来运行模型 ; (8)图形化的调试器和剖析器来检查仿真结果,诊断设计的性 能和异常行为 ; (9)可访问MATLAB从而对结果进行分析与可视化,定制建模环境, 定义信号参数和测试数据; (10)模型分析和诊断工具来保证模型的一致性,确定模型中的错误。
③ 模型中的模块按更新的次序进行排序。排序算法产生一个列表以确 保具有代数环的模块在产生它的驱动输入的模块被更新后才更新。 当然,这一步要先检测出模型中存在的代数环。
④ 决定模型中有无显示设定的信号属性,例如名称、数据类型、数值 类型以及大小等,并且检查每个模块是否能够接受连接到它输入端 的信号。Simulink使用属性传递的过程来确定未被设定的属性,这 个过程将源信号的属性传递到它所驱动的模块的输入信号;
上 页 下2 页
同Matlab一样,Simulink也不是封闭的,他允许用户可以很方便 的定制自己的模块和模块库。同时Simulink也同样有比较完整 的帮助系统,使用户可以随时找到对应模块的说明,便于应用。
目前,随着软件的升级换代,在软硬件的接口方面有了很大的 改进,使用Simulink可以很方便地进行实时的信号控制和处理、 信息通信以及DSP的处理。世界上许多知名的大公司已经使用 Simulink作为他们产品设计和开发的强有力工具。