simulink建模
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB命令窗口运行指令:
simulink
SIMULINK模块库浏览器:
Simulink Library Browser 建立一个简单的仿真系统 模块库
建立一个简单的仿真系统
点击“新建”,建立新模型text1 用鼠标在信源模块中选取sine wave,拖曳 至text1窗口 用鼠标在信宿模块中选取scope,拖曳至 text1窗口 连线 启动仿真
所谓模型化图形输入是指SIMULINK提供了一些按功能分 类的基本的系统模块,用户只需要知道这些模块的输入输 出及模块的功能,而不必考察模块内部是如何实现的,通 过对这些基本模块的调用,再将它们连接起来就可以构成 所需要的系统模型(以.mdl文件进行存取),进而进行仿 真与分析。
SIMULINK入门
两种模块库窗口界面只是不同的显示形式,用户可以根据 各人喜好进行选用,一般说来第二种窗口直观、形象,易 于初学者,但使用时会打开太多的子窗口。
SIMULINK模块库
SIMILINK模块库按功能进行分为以下8类子库:
Continuous(连续模块)
Discrete(离散模块) Function&Tables(函数和表格模块) Math(数学模块) Nonlinear(非线性模块) Signals&Systems(信号和系统模块) Sinks(输出模块) Sources(输入源模块)
连续模块库(Continuous)
Integrator 积分模块:输入信号积分 Derivative 微分模块 :输入信号微分 State-Space 线性状态空间模块:线性状态空间系统模型 Transfer-Fcn 传递函数模块:线性传递函数模型 Zero-Pole 零极点传递函数模块:以零极点表示的传递函 数模型 Memory 存储器模块:存储上一时刻的状态值 Transport Delay 传输延迟模块:输入信号延时一个固定 时间再输出 Variable Transport Delay 可变传输延迟模块:输入信号 延时一个可变时间再输出
函数与表格模块库(Function&Tables)
Fcn自定义函数模块:用自定义的函数(表达式)进行运算 MATLAB Fcn MATLAB函数模块:利用matlab的现有函数 进行运算 S-Function S-函数模块:调用自编的S函数的程序进行运算 Look-Up Table一维查表模块:建立输入信号的查询表(线 性峰值匹配) Look-Up Table(2-D)二维查表模块:建立两个输入信号的查 询表(线性峰值匹配)
非线性模块( Nonlinear )
Saturation 饱和度模块:饱和输出,让输出超过某一值时 能够饱和。 Relay 继电模块:滞环比较器,限制输出值在某一范围内 变化。 Switch 选择开关模块:根据设置的门限来确定系统的输出 Manual Switch 手动选择开关模块 Rate Limiter 比率限幅模块:限制输入信号 Dead Zone 死区输出模块:在规定的区内没有输出值 Quantizer 量化模块:把输入信号由平滑状态变成台阶状态
SIMULINK建模与仿真基础
SIMULINK入门 基本建模方法 应用实例
电子学与电子工程学教研室 教员:许佳 luorlnwe@qq.com(email) 772486(tel)
SIMULINK入门
SIMULINK是MATLAB软件的扩展,它是实现动态系统建 模和仿真的一个软件包,它与MATLAB语言的主要区别在 于,其与用户交互接口是基于Windows的模型化图形输入, 其结果是使得用户可以把更多的精力投入到系统模型的构 建,而非语言的编程上。
数学模块( Math )
Sum 求和模块:加减运算 Product 乘法模块:乘运算 Dot Product 矢量的点乘模块:点乘运算 Gain 增益模块:比例运算 Math Function 常用数学函数模块:包括指数函数、对数 函数、求平方、开根号等常用数学函数 Trigonometric Function 三角函数模块:三角函数,包括 正弦、余弦、正切等 MinMax 最值模块:最大最小值运算 Abs 绝对值模块:取绝对值 Sign 符号函数模块:符号函数
SIMULINK仿真——模块的连接
一般情况,每个模块都有一个或者多个输入口或者输出口。输 入口通常是模块的左边的“>”符号;输出口是右边的“>”符号。 模块的连接方法:信号线就变成了带有方向箭头的线段,说明 这两个模块的连接成功,否则需要重新进行连接。
线的折弯:按住Shift键,再用鼠标在要折弯的线处单击一下 就会出现圆圈,表示折点,利用折点就可以改变线的形状。 线的分支:按住鼠标右键,在需要分支的地方拉出即可以。 或者按住Ctrl键,并在要建立分支的地方用鼠标拉出即可。
模块的基本操作
模块的选定
选定单个和选定多个
模块的复制
复制/粘贴 Ctrl键
模块名操作
点击模块名
模块的样式
Format菜单
简单建模:
简单建模:
支持向量显示
Mux
支持标量扩展
Simulink模块库
在MATLAB命令窗口中输入simulink3 结果是在桌面上出现一个用图标形式显示的 Library :simulink3的Simulink模块库窗口。
解:(1) 选择SIMULINK模块库浏览器工具栏中的图标 ,打开一个新 的SIMULINK仿真平台窗口。 (2) 从SimPowerSystems模块库和SIMULINK模块库中选择并添加相 应的模块到SIMULINK仿真平台窗口,并进行适当的排列,如图所示。 DC Voltage Source模块来自电力系统模块库的Electrical Sources子库 Breaker模块来自电力系统模块库的Elements子库 Series RLC Branch模块来自电力系统模块库的Elements子库 Series RLC Branch1模块来自电力系统模块库的Elements子库 3个Ground模块来自电力系统模块库的Elements子库,用以模拟接地 Voltage Measurement模块来自电力系统模块库的Measurement子库 Current Measurement模块来自电力系统模块库的Measurement子库
输入源模块( Sources )
Constant:常数信号。 Clock:时钟信号。 From Workspace:来自MATLAB的工作空间。 From File(.mat):来自数据文件。 Pulse Generator:脉冲发生器。 Repeating Sequence:重复信号。 Signal Generator:信号发生器,可以产生正弦、 方波、锯齿波及随意波。 Sine Wave:正弦波信号。 Step:阶跃波信号。
离散模块(Discrete)
Zero-Order Hold 零阶保持器模块: 零阶采样和保持 Unit Delay 单位延迟模块: 一个采样周期的延时 Discrete-time Integrator 离散时间积分模块:离散时间积 分器 Discrete Filter离散滤波器模块:无限脉冲响应(IIR)和有限 脉冲响应(FIR)的数字滤波器 Discrete State-Space 离散状态空间模块:离散状态空间 系统模型 Discrete Transfer-Fcn离散传递函数模块:离散传递函数 模型 Discrete Zero-Pole离散零极点传递函数模块:以零极点 表示的离散传递函数模型 First-Order Hold一阶保持器模块:一阶采样和保持
数学模块( Math )
Logical Operator 逻辑运算符模块:逻辑运算 Relational Operator 关系运算模块:关系运算 复数运算模块 Complex to Magnitude-Angle :由复数输入转为幅值和相角 输出 Magnitude-Angle to Complex :由幅值和相角输入合成复数 输出 Complex to Real-Imag:由复数输入转为实部和虚部输出 Real-Imag to Complex:由实部和虚部输入合成复数输出
练习
新建一个SIMULINK的模型文件,试建立并调试一个模 型,实现在一个示波器中同时观察正弦波信号和方波信 号。 已知摄氏温度和华氏温度之间的转换关系如下:
TF (9 / 5)TC 32
试利用SIMULINK建模并仿真该式输入量和输出量间的 关系。 某一直流RC电路结构及参数如图所示,求解当开关闭 合后电容电压和线路电流的变化规律。
输出模块( Sinks )
Scope 示波器模块:显示产生的输出信号 XY Graph 二维信号显示模块:两路信号分别作为示波器坐 标的x轴与y 轴,显示二维图形。 To Workspace 输出到工作空间模块:将输出写入MATLAB 的工作空间。 To File(.mat) 输出到文件模块:将输出写入数据文件 Display 显示模块:按照一定的格式显示输入信号的值 Terminator 终止信号模块 Stop simulation 结束仿真模块
加注释
simulink模型的一般性结构
信源
系统
信宿
数值分析:积分模块的应用
0.5tdt 0 f t t 5 0.5tdt
t
0t 5 t 5
பைடு நூலகம்
积分模块应用:复位积分
负变正时 强迫清零
微分方程
x 0.2 x 0.4 x 0.2u(t )
构造微分方程求解模型
其它应用模块集和Simulink扩展库
通信模块集(Communications Blockset)
数字信号处理模块集(DSP Blockset)
电力系统模块集(Power System Blockset)
Simulink扩展库
扩展信号输出模块库(Additional Sinks)
扩展离散库(Additional Discrete)
SIMULINK仿真——模块参数与属性的设置
方法:在所建立的模型窗口中, 选中相应的模块,单击右击鼠标,
在弹出的快捷菜单中单击
“Block parameters”选项,即可 打开该模块的参数设置对话框,。 右击鼠标,在弹出的快捷菜单中 单击“Block Properties”选项, 即可打开该模块的属性设置对话 框。
信号和系统模块 Signal&Systems
In1:输入端。 Out1:输出端。 Mux :将多个单一输入转化为一个复合输出。 Demux:将一个复合输入转化为多个单一输出。 Ground:连接到没有连接到的输入端。 Terminator:连接到没有连接到的输出端。 SubSystem:建立新的封装(Mask)功能模块
SIMULINK仿真——仿真参数的设置
选择菜单选项[Simulation>Configuration Parameters],将显示仿真参 数对话框。
1. 设置仿真时间 仿真时间决定了模型仿真的时间或取值区域,其设置完全根据待 仿真系统的特性确定,反映在输出显示上就是示波器的横轴坐标值的 取值范围。“Start time”和“Stop time”项分别用以设置仿真开始时间 (或取值区域下限)和终止时间(或取值区域上限),默认值分别为0.0和 10.0 2. 选择仿真算法 仿真算法是求常微分方程、传递函数、状态方程解的数值计算方 法,主要有欧拉法(Eular)、阿达姆斯法(Adams)和龙格-库塔法 (Runge-Kutta)。由于动态系统的差异性,使得某种算法对某类问题比 较有效,而另外算法对另一类问题更有效。因此,对不同的问题,可 以选择不同的适应算法和相应的参数,以得到更准确、快速的解。
扩展线性库(Additional Linear)
转换库(Transformations)
触发模块库(Flip Flops)
线性化库(Linearization)
宇航模块库(Airspace Blocks)
SIMULINK模型
外表:直观的方框图 文件:MDL文件 数学:微分方程或差分方程 行为:模拟物理过程的动态性状
simulink
SIMULINK模块库浏览器:
Simulink Library Browser 建立一个简单的仿真系统 模块库
建立一个简单的仿真系统
点击“新建”,建立新模型text1 用鼠标在信源模块中选取sine wave,拖曳 至text1窗口 用鼠标在信宿模块中选取scope,拖曳至 text1窗口 连线 启动仿真
所谓模型化图形输入是指SIMULINK提供了一些按功能分 类的基本的系统模块,用户只需要知道这些模块的输入输 出及模块的功能,而不必考察模块内部是如何实现的,通 过对这些基本模块的调用,再将它们连接起来就可以构成 所需要的系统模型(以.mdl文件进行存取),进而进行仿 真与分析。
SIMULINK入门
两种模块库窗口界面只是不同的显示形式,用户可以根据 各人喜好进行选用,一般说来第二种窗口直观、形象,易 于初学者,但使用时会打开太多的子窗口。
SIMULINK模块库
SIMILINK模块库按功能进行分为以下8类子库:
Continuous(连续模块)
Discrete(离散模块) Function&Tables(函数和表格模块) Math(数学模块) Nonlinear(非线性模块) Signals&Systems(信号和系统模块) Sinks(输出模块) Sources(输入源模块)
连续模块库(Continuous)
Integrator 积分模块:输入信号积分 Derivative 微分模块 :输入信号微分 State-Space 线性状态空间模块:线性状态空间系统模型 Transfer-Fcn 传递函数模块:线性传递函数模型 Zero-Pole 零极点传递函数模块:以零极点表示的传递函 数模型 Memory 存储器模块:存储上一时刻的状态值 Transport Delay 传输延迟模块:输入信号延时一个固定 时间再输出 Variable Transport Delay 可变传输延迟模块:输入信号 延时一个可变时间再输出
函数与表格模块库(Function&Tables)
Fcn自定义函数模块:用自定义的函数(表达式)进行运算 MATLAB Fcn MATLAB函数模块:利用matlab的现有函数 进行运算 S-Function S-函数模块:调用自编的S函数的程序进行运算 Look-Up Table一维查表模块:建立输入信号的查询表(线 性峰值匹配) Look-Up Table(2-D)二维查表模块:建立两个输入信号的查 询表(线性峰值匹配)
非线性模块( Nonlinear )
Saturation 饱和度模块:饱和输出,让输出超过某一值时 能够饱和。 Relay 继电模块:滞环比较器,限制输出值在某一范围内 变化。 Switch 选择开关模块:根据设置的门限来确定系统的输出 Manual Switch 手动选择开关模块 Rate Limiter 比率限幅模块:限制输入信号 Dead Zone 死区输出模块:在规定的区内没有输出值 Quantizer 量化模块:把输入信号由平滑状态变成台阶状态
SIMULINK建模与仿真基础
SIMULINK入门 基本建模方法 应用实例
电子学与电子工程学教研室 教员:许佳 luorlnwe@qq.com(email) 772486(tel)
SIMULINK入门
SIMULINK是MATLAB软件的扩展,它是实现动态系统建 模和仿真的一个软件包,它与MATLAB语言的主要区别在 于,其与用户交互接口是基于Windows的模型化图形输入, 其结果是使得用户可以把更多的精力投入到系统模型的构 建,而非语言的编程上。
数学模块( Math )
Sum 求和模块:加减运算 Product 乘法模块:乘运算 Dot Product 矢量的点乘模块:点乘运算 Gain 增益模块:比例运算 Math Function 常用数学函数模块:包括指数函数、对数 函数、求平方、开根号等常用数学函数 Trigonometric Function 三角函数模块:三角函数,包括 正弦、余弦、正切等 MinMax 最值模块:最大最小值运算 Abs 绝对值模块:取绝对值 Sign 符号函数模块:符号函数
SIMULINK仿真——模块的连接
一般情况,每个模块都有一个或者多个输入口或者输出口。输 入口通常是模块的左边的“>”符号;输出口是右边的“>”符号。 模块的连接方法:信号线就变成了带有方向箭头的线段,说明 这两个模块的连接成功,否则需要重新进行连接。
线的折弯:按住Shift键,再用鼠标在要折弯的线处单击一下 就会出现圆圈,表示折点,利用折点就可以改变线的形状。 线的分支:按住鼠标右键,在需要分支的地方拉出即可以。 或者按住Ctrl键,并在要建立分支的地方用鼠标拉出即可。
模块的基本操作
模块的选定
选定单个和选定多个
模块的复制
复制/粘贴 Ctrl键
模块名操作
点击模块名
模块的样式
Format菜单
简单建模:
简单建模:
支持向量显示
Mux
支持标量扩展
Simulink模块库
在MATLAB命令窗口中输入simulink3 结果是在桌面上出现一个用图标形式显示的 Library :simulink3的Simulink模块库窗口。
解:(1) 选择SIMULINK模块库浏览器工具栏中的图标 ,打开一个新 的SIMULINK仿真平台窗口。 (2) 从SimPowerSystems模块库和SIMULINK模块库中选择并添加相 应的模块到SIMULINK仿真平台窗口,并进行适当的排列,如图所示。 DC Voltage Source模块来自电力系统模块库的Electrical Sources子库 Breaker模块来自电力系统模块库的Elements子库 Series RLC Branch模块来自电力系统模块库的Elements子库 Series RLC Branch1模块来自电力系统模块库的Elements子库 3个Ground模块来自电力系统模块库的Elements子库,用以模拟接地 Voltage Measurement模块来自电力系统模块库的Measurement子库 Current Measurement模块来自电力系统模块库的Measurement子库
输入源模块( Sources )
Constant:常数信号。 Clock:时钟信号。 From Workspace:来自MATLAB的工作空间。 From File(.mat):来自数据文件。 Pulse Generator:脉冲发生器。 Repeating Sequence:重复信号。 Signal Generator:信号发生器,可以产生正弦、 方波、锯齿波及随意波。 Sine Wave:正弦波信号。 Step:阶跃波信号。
离散模块(Discrete)
Zero-Order Hold 零阶保持器模块: 零阶采样和保持 Unit Delay 单位延迟模块: 一个采样周期的延时 Discrete-time Integrator 离散时间积分模块:离散时间积 分器 Discrete Filter离散滤波器模块:无限脉冲响应(IIR)和有限 脉冲响应(FIR)的数字滤波器 Discrete State-Space 离散状态空间模块:离散状态空间 系统模型 Discrete Transfer-Fcn离散传递函数模块:离散传递函数 模型 Discrete Zero-Pole离散零极点传递函数模块:以零极点 表示的离散传递函数模型 First-Order Hold一阶保持器模块:一阶采样和保持
数学模块( Math )
Logical Operator 逻辑运算符模块:逻辑运算 Relational Operator 关系运算模块:关系运算 复数运算模块 Complex to Magnitude-Angle :由复数输入转为幅值和相角 输出 Magnitude-Angle to Complex :由幅值和相角输入合成复数 输出 Complex to Real-Imag:由复数输入转为实部和虚部输出 Real-Imag to Complex:由实部和虚部输入合成复数输出
练习
新建一个SIMULINK的模型文件,试建立并调试一个模 型,实现在一个示波器中同时观察正弦波信号和方波信 号。 已知摄氏温度和华氏温度之间的转换关系如下:
TF (9 / 5)TC 32
试利用SIMULINK建模并仿真该式输入量和输出量间的 关系。 某一直流RC电路结构及参数如图所示,求解当开关闭 合后电容电压和线路电流的变化规律。
输出模块( Sinks )
Scope 示波器模块:显示产生的输出信号 XY Graph 二维信号显示模块:两路信号分别作为示波器坐 标的x轴与y 轴,显示二维图形。 To Workspace 输出到工作空间模块:将输出写入MATLAB 的工作空间。 To File(.mat) 输出到文件模块:将输出写入数据文件 Display 显示模块:按照一定的格式显示输入信号的值 Terminator 终止信号模块 Stop simulation 结束仿真模块
加注释
simulink模型的一般性结构
信源
系统
信宿
数值分析:积分模块的应用
0.5tdt 0 f t t 5 0.5tdt
t
0t 5 t 5
பைடு நூலகம்
积分模块应用:复位积分
负变正时 强迫清零
微分方程
x 0.2 x 0.4 x 0.2u(t )
构造微分方程求解模型
其它应用模块集和Simulink扩展库
通信模块集(Communications Blockset)
数字信号处理模块集(DSP Blockset)
电力系统模块集(Power System Blockset)
Simulink扩展库
扩展信号输出模块库(Additional Sinks)
扩展离散库(Additional Discrete)
SIMULINK仿真——模块参数与属性的设置
方法:在所建立的模型窗口中, 选中相应的模块,单击右击鼠标,
在弹出的快捷菜单中单击
“Block parameters”选项,即可 打开该模块的参数设置对话框,。 右击鼠标,在弹出的快捷菜单中 单击“Block Properties”选项, 即可打开该模块的属性设置对话 框。
信号和系统模块 Signal&Systems
In1:输入端。 Out1:输出端。 Mux :将多个单一输入转化为一个复合输出。 Demux:将一个复合输入转化为多个单一输出。 Ground:连接到没有连接到的输入端。 Terminator:连接到没有连接到的输出端。 SubSystem:建立新的封装(Mask)功能模块
SIMULINK仿真——仿真参数的设置
选择菜单选项[Simulation>Configuration Parameters],将显示仿真参 数对话框。
1. 设置仿真时间 仿真时间决定了模型仿真的时间或取值区域,其设置完全根据待 仿真系统的特性确定,反映在输出显示上就是示波器的横轴坐标值的 取值范围。“Start time”和“Stop time”项分别用以设置仿真开始时间 (或取值区域下限)和终止时间(或取值区域上限),默认值分别为0.0和 10.0 2. 选择仿真算法 仿真算法是求常微分方程、传递函数、状态方程解的数值计算方 法,主要有欧拉法(Eular)、阿达姆斯法(Adams)和龙格-库塔法 (Runge-Kutta)。由于动态系统的差异性,使得某种算法对某类问题比 较有效,而另外算法对另一类问题更有效。因此,对不同的问题,可 以选择不同的适应算法和相应的参数,以得到更准确、快速的解。
扩展线性库(Additional Linear)
转换库(Transformations)
触发模块库(Flip Flops)
线性化库(Linearization)
宇航模块库(Airspace Blocks)
SIMULINK模型
外表:直观的方框图 文件:MDL文件 数学:微分方程或差分方程 行为:模拟物理过程的动态性状