Simulink是美国
Mathworks公司推出的
MATLAB中的一种
可视化仿真工具。Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。它支持
系统设计、仿真、自动
代码生成以及
嵌入式系统的连续测试和验证。Simulink提供
图形编辑器、可自定义的模块库以及求解器,能够进行
动态系统建模和仿真。
功能
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于
控制理论和
数字信号处理的复杂仿真和设计。同时有大量的
第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink可以用
连续采样时间、离散
采样时间或两种混合的采样时间进行建模,它也支持
多速率系统,也就是系统中的不同部分具有不同的
采样速率。为了创建动态
系统模型,Simulink提供了一个建立模型方块图的图形用户接口,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的
仿真结果。
Simulink是用于
动态系统和
嵌入式系统的多领域仿真和基于模型的
设计工具。对各种
时变系统,包括通讯、控制、
信号处理、
视频处理和
图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。.
构架在Simulink基础之上的其他产品扩展了Simulink多
领域建模功能,也提供了用于设计、执行、
验证和确认任务的相应工具。Simulink与
MATLAB紧密集成,可以
直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、
批处理脚本的创建、建模环境的定制以及信号参数和测试
数据的定义。
特点介绍
丰富的可扩充的预定义模块库
交互式的图形编辑器来组合和管理直观的模块图
以设计功能的
层次性来分割模型,实现对
复杂设计的管理
通过Model Explorer 导航、创建、配置、
搜索模型中的任意信号、参数、属性,
生成模型代码
提供
API用于与其他
仿真程序的连接或与手写代码集成
使用Embedded MATLAB™ 模块在Simulink和
嵌入式系统执行中调用MATLAB算法
使用定
步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,Rapid Accelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型
图形化的
调试器和剖析器来检查仿真结果,诊断设计的性能和
异常行为可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和
测试数据模型分析和诊断工具来保证模型的一致性,
确定模型中的错误
启动
1、在MATLAB命令窗口中输入simulink
结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。当然用户也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。
2、在MATLAB命令窗口中输入simulink3
结果是在桌面上出现一个用图标形式显示的Library :simulink3的Simulink模块库窗口。两种模块库
窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。
模块
SIMULINK模块库按功能进行分类,包括以下8类子库:
Discrete(离散模块)
Function&Tables(函数和平台模块)
Math(数学模块)
Nonlinear(非线性模块)
Sources(输入源模块)
连续模块(Continuous) continuous.mdl
Derivative:输入信号微分
Memory:存储上一时刻的状态值
Transport Delay:输入信号延时一个固定时间再输出
Variable Transport Delay:输入信号延时一个可变时间再输出
离散模块(Discrete) discrete.mdl
Discrete-time Integrator:离散时间
积分器Discrete Filter:IIR与
FIR滤波器Discrete State-Space:离散状态空间系统模型
Discrete Transfer-Fcn:离散传递函数模型
Discrete Zero-Pole:以零极点表示的离散传递函数模型
First-Order Hold:一阶采样和
保持器Zero-Order Hold:零阶采样和保持器
Function&Tables(函数和平台模块) function.mdl
Fcn:用用户自定义的函数(表达式)进行运算
MATLAB Fcn:利用
matlab的现有函数进行运算
S-Function:调用自编的S函数的程序进行运算
Look-Up Table:建立输入信号的查询表(线性峰值匹配)
Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)
Math(数学模块) math.mdl
Sum:加减运算
Product:乘运算
Math Function:包括
指数函数、
对数函数、求平方、开
根号等常用数学
函数Trigonometric Function:
三角函数,包括正弦、
余弦、
正切等
MinMax:最值运算
Complex to Magnitude-Angle:由复数输入转为幅值和相角输出
Magnitude-Angle to Complex:由幅值和相角输入合成复数输出
Complex to Real-Imag:由复数输入转为
实部和
虚部输出
Real-Imag to Complex:由实部和虚部输入合成复数输出
Nonlinear(非线性模块) nonlinear.mdl
Saturation:饱和输出,让输出超过某一值时能够饱和。
Relay:
滞环比较器,限制输出值在某一范围内变化。
Switch:开关选择,当第二个输入端大于
临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。
Signal&Systems(信号和系统模块) sigsys.mdl
In1:输入端。
Out1:输出端。
Mux:将多个单一输入转化为一个复合输出。
Demux:将一个复合输入转化为多个单一输出。
Ground:连接到没有连接到的输入端。
Terminator:连接到没有连接到的输出端。
SubSystem:建立新的封装(Mask)
功能模块Sinks(接收器模块) sinks.mdl
XY Graph:显示二维图形。
To Workspace:将输出写入MATLAB的
工作空间。
Sources(输入源模块) sources.mdl
Constant:常数信号。
From Workspace:来自MATLAB的工作空间。
From File(.mat):来自数据文件。
Repeating Sequence:重复信号。
Signal Generator:
信号发生器,可以产生正弦、
方波、锯齿波及随意波。
Step:阶跃波信号。
Ramp: 斜坡信号。
参考资料
应用领域.Mathworks官方.2020-01-05