相信工科生都听过Simulink这个神器,要是能在毕业设计中做个仿真,论文的逼格立马上去了,是不是?
Simulink是一个对动态系统(包括连续系统、离散系统和混合系统)进行建模、仿真和综合分析的集成软件包,是Matlab的重要组成部分。
Simulink建模大致分为两步:创建模型图标和控制Simulink对其进行仿真。
-
图形化的模型和现实系统之间的映射关系
- 输入——>状态——>输出 <=> 信源——>系统——>信宿
-
利用映射关系进行仿真
- 模型编译阶段
- 连接阶段
- 仿真环阶段
- 初始化阶段
- 迭代阶段
小例子:已知振动系统的振动速度为x(t) = sin(t),初始条件为x(0) = 0,仿真该系统的振动位移。
因为位移等于速度对时间的积分,所以仿真过程如下:
- 新建Simulink仿真模型
- 输入为Source模块中的Sine Wave正弦波模块
- 输出为Sink模块中的Scope示波器模块
-
状态为Continuous模块中的Integrator积分模块
整个过程就是鼠标拖动模块,连两条信号线就可以了,so easy。
-
运行仿真,双击Scope模块查看仿真结果
以上是一个Simulink仿真的最简单的案例,但麻雀虽小,五脏俱全。学会这些,对于简单小系统的仿真已经够用了。对于复杂系统可以通过封装子系统使模型更简洁,如果需要自定义模块,可以编写S函数来实现。
总结一下Simulink建模与仿真步骤:
- 画出系统框图,将需仿真的系统根据功能划分为子系统,然后选用模块搭建每个子系统
- 拖拽模块库中所需模块到空白模型窗口中,按系统框图的布局摆好并连接各模块
- 若系统比较复杂,可将同一功能模块封装成一个子系统
- 设置各模块的参数和仿真有关的各种参数
- 保存模型,运行仿真,观察结果
- 调试并修改模型,直到结果符合要求为止