当前位置:
文档之家› simulink建模与仿真-概述
simulink建模与仿真-概述
6.4创建simulink模型(简单入门)
一、启用simulink并建立系统模型 启动simulink: (1)用命令方式:simulink (2)
二、simulink模块库简介
1、simulink公共模块库 Continuous(连续系统)
连续信号数值积分 输入信号连续时间积分 单步积分延迟,输出为前一输入 线性连续系统的状态空间描述 线性连续系统传递函数描述
1、封装编辑器之图表编辑对话框
首先封装后,再选中子系统图表,执行edit/edit mask 。
封装类型
子系统模块图表绘制命令
图表显示界 面控制参数
1)封转类型:对封装后的子系统进行简短的说明
2)图表显示界面控制参数 icon fram:设置图表边框为可见或不可见 icon transparency:设置图表为透明或不透明
模块库:具有某种属性的一类模块的集合 库模块:模块库中的一个模块
引用块:模块库中的一个模块的副本(从模块库中 拖动或复制到系统模型中的模块) 关联:引用块与对应的模块库中的模块之间的联系, 当模块库中的模块发生改变时simulink会自动更新相应的 引用块。
2、建立与使用模块库
步骤: 1)在simulink中执行file/new/library
初始化信号
矩阵串联器 合并输入信号为一个输出 模块控制信息 信号组合器
向数据存储区写数据
数据类型选择器
信号分解器
从goto模块中获得信号 函数调用发生器
信号探测器
信号维数改变器 选择或重组信号 信号属性修改 输入信号宽度
向goto模块传递信号
Sinks(系统输出模块库)
以数值形式显示输入信号
悬浮信号显示器
输入服从高司分布的随机信号
输入周期信号
以固定速率输出当前仿真时间 信号发生器
从matlab工作空间中输入数据 正弦信号初始器
从.mat文件中输入数据
接地信号
输入阶跃信号
输入服从高司分布的随机信号
Subsystem(子系统模块库)
可配置子系统 原子子系统 使能子系统 使能触发 For循环
条件执行子系统
3、触发子系统
4、触发使能子系统
5、原子子系统
虚子系统:对通用子系统与使能子系统 1)子系统只是系统模型中某些模块组的图形表示 2)子系统中的模块在执行时与其上一级模块统一被排 序,不受子系统限制。
3)在一个仿真时间步长内,simulink可以多次进出一 个子系统。
原子子系统:
1)子系统作为一个“实际”的模块,需顺序连续执行。
2、系统模型 实体模型:根据相似性建立 模型 数学模型:原始系统数学模型;仿真系统数学模型
动态模型:描述系统动态变化过程
静态模型:平衡状态下系统特性值之间的关系 二、计算机仿真 1、仿真的概念
以相似性原理、控制理论、信息技术及相关领域 的有关知识为基础,以计算机和各种专用物理设备为工 具,借助系统模型对真实系统进行实验研究的一门综合 性技术。 2、仿真分类 实物仿真:建造实体模型 数学模型:将数学语言编制成计算机程序
3、封装编辑器之文档对话框
4、封装编辑器之文档对话框
封装类型
封装描述
帮助
1)封装类型:对封装后的子系统进行简短的说明,用 于标志该子系统
2)封装描述:用于设定描述信息 3)帮助
四、simulink模块库技术
1、模块库的概念及其使用 所谓模块库一般是指具有某种属性的一类模块的集 合。用户可以定义自己的模块库。
Fcn: 用于实现简单函数关系
输入总表示成u(可是一向量)
输出是一标量 Matlab Fcn:
用于调用matlab函数实现某一 功能
所调用函数只能有一个输出 (可以是一个向量)
单输入函数只需要使用函数名, 多输入需引用相应的元素 在每个仿真步长内都需要调用 matlab解释器
例:信号平方运算
6.6 simulink子系统技术
先建立空的子系统
2、建立复杂系统模型
自下向上的设计思路 自顶向下的设计思路
6.5 simulink与matlab的接口设计
一、使用工作空间变量设置系统模块参数
二、将信号输出到workspace
三、从workspace中产生信号源
四、向量与矩阵
五、matlab function与function模块
半实体模型:数学物理仿真
实时仿真:需要专用的实时仿真硬件 欠实时仿真:比实际时钟慢
超实时仿真:比实际时钟快
3、计算机仿真 根据相似性原理,利用计算机逼真模拟研究对象。 模拟机、模拟数字机、数字通用机、仿真专用机。
三、仿真的作用 1)优化系统设计
2)系统故障再现 3)验证系统设计的正确性
4)对系统,子系统进行性能评估
双输出选择器(手动)
多端口输出选择器
量化器
信号上升、下降速率控制器 信号延迟器
饱和信号
三路选择器(根据输入2控制输出)
Signal &System(信号和系统模块)
对信号进行分配 由输入产生总线信号
Goto模块标记控制器
将信号与特定的偏移值比较
总线信号选择器
用户定义的数据存储区 从数据存储区中读取数据
对输入信号进行固定时间延迟
对输入信号进行可变时间延迟 线性连续系统的零极点模型
Discrete(离散系统)
线性离散系统的传递函数描述
线性离散系统的零极点模型描述
线性离散系统的滤波器描述
线性离散系统的状态空间描述 离散时间积分器
离散信号的一阶保持器nction&Tables(函数与表库)
按位逻辑运算
逻辑真值查找 输出输入复数的幅值与相位
从输入实部与虚部构造复数
关系运算器
输出系统输入的的实部或需部
点乘运算
求整运算器
符号运算 渐变增益 对输入求和或差 三角与双曲函数
信号增益
信号逻辑运算 幅值与相位转化为复数形式
特定的一些数学函数
Nonlinear(非线性系统模块库)
死区间歇 库仑粘贴信号 死区信号
表数据选择器(从表中选择数据)
求取输入信号的数学函数值
对输入信号进行内插运算 输入信号的一维线性内插 输入信号的二维线性内插 输入信号的n维线性内插
M函数(对输入进行运算输出结果)
多项式求值
查找输入信号所在范围
S-函数模块 S-函数生成器
Math(数学运算库)
求信号绝对值 输出强制系统输入为零的代数状态 矩阵增益 求输入的最小、大值 乘法或除法器
一、回顾 1、通用子系统的生成 2、子系统的基本操作 子系统的命名 子系统的编辑
子系统的输入 子系统的输出 子系统的参数设置
二、simulink高级子系统技术
使能子系统 触发子系统 函数调用子系统
1、条件子系统的建立方法 在enabled subsystem triggered subsystem
while循环 选择
表达式执行子系统
三、simulink的子系统封装技术
封装子系统的特点: 1)自定义系统模块及图表 2)用户双击子系统图表将弹出参数设置框
3)可自定义子系统的帮助文件 4)拥有自己的工作区 使用子系统封装技术的优点: 1)向子系统模块中传递参数 2)“隐藏”子系统中不需要过多展现的内容 3)保护子系统中的内容,防止模块实现被随意篡改。
通用子系统
Switch-case子系统
Switch-case动作子系统 触发子系统 当型循环子系统
函数调用
If条件
2、simulink专业模块库
三、建立simulink框图
1、选择模块
2、模块连接
3、信号组合与分支
3、运行仿真
四、simulink子系统介绍
1、子系统生成 在已有的系统模型中建立子系统
enabled and triggered subsystem中。
1)一个系统中不能含多个enable和triggered信号。 2)其它子系统可看成某种形式的条件执行子系统。
1、触发子系统
法1(加分路器)
法2(示波器分三支路)
2、使能子系统 例:
Reset:执行时,系统中的状态被重新设置为初始参 Held:执行时,系统的状态保持不变
2)将用户定义的模块或是其它模块库中的模块移动 到新的模块库中。 3)保存新的模块库
建立后保存并关闭后, 模块被锁定
若要修改,则选择 UNLOCK解锁
对引用块修改的方法
3、可配置子系统
在某些情况下,用户建立的系统模型中可能有若干 个不同的子系统,它们具有同样的功能。如果用户需要在 它们之间频繁的切换,可为这些子系统建立可配置子系统。 方法如下: 1)建立包含这些子系统的自定义模块库,然后从 subsystem模块库中拖动configurable subsystem模块到 这个自定义的模块库中。 2)保存自定义模块库,然后双击可配置子系统块。选择 用户需要相互切换的子系统。
3)复制模块库中的可配置子系统到相应的系统模型中。 4)在edit下的block choice项完成模块的配置。
1)仿真程序库:由一组完成特定功能的程序组成 的集合,专门面向某一问题或一个领域。
2)仿真语言:在高级语言的基础上,为面向专门 问题而开发的。
3)集成仿真环境
五、计算机仿真的一般过程
仿真问题和仿真目的描述
确定仿真方案
修改方案
系统描述 建立系统数学模型
建立仿真数学模型 编写仿真程序 验证模型
是否符合要求 是否符合要求 是否符合要求 是否符合要求
assignment:参数分配类型(evaluate:求值字符串 literal:普通文字)
initialization commands(初始化命令栏)