Simulink® 是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统级设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。Simulink 提供图形编辑器、可自定义的模块库以及求解器,能够进行动态系统建模和仿真。Simulink 与 MATLAB® 相集成,这样您不仅能够在 Simulink 中将 MATLAB 算法融入模型,还能将仿真结果导出至 MATLAB 做进一步分析
Simulink 模块图
Simulink® 是动态系统的图形建模和仿真环境。您可以创建模块图,用模块表示系统的各个组成部分。模块可以表示物理组件、小型系统或函数。输入/输出关系则完整描述了模块特征。请思考下面这些示例:
1: 一个水龙头往一个水桶里注入水 - 水以一定的流速进入水桶,水桶变重。模块可以表示水桶,水的流速为输入,水桶的重量为输出。
2: 您用扩音器传递声音 - 扩音器一端产生的声音在另一端被放大。扩音器是模块,输入是声源的声波,输出是您听到的声波。
3:您推动购物车使它移动 - 购物车是模块,您施加的力是输入,购物车的位置是输出。
只有定义了输入和输出,模块的定义才算完成,并且此模型定义任务需与建模目的相关。例如,如果建模目的不涉及购物车的位置,则会自然选择购物车的速度作为输出。
Simulink 提供了一些模块库,它们是按功能分组的模块集合。例如,要对以常量倍数放大输入的扩音器进行建模,可以使用 Math Operations 库中的 Gain 模块。
进入扩音器的声波作为输入,出来的同一声波的更大版本作为输出。
> 符号表示模块的输入和输出,可以连接到其他模块
Simulink 的主要功能
是对系统各个组件随时间流逝的行为变化进行仿真。简单来讲就是:采用一个时钟,按时间确定各个模块的仿真顺序,并在仿真过程中依次将在上一个模块图中计算得出的输出传播到下一个模块,直至最后一个模块。以扩音器为例。在每个时间步,Simulink 都必须计算正弦波的值,将其传播给扩音器,然后计算输出值。
Simulink 处理三类数据:
信号 - 在仿真期间计算的模块输入和输出
状态 - 在仿真期间中计算的代表模块动态的内部值
参数 - 影响模块行为的值,由用户控制
在每个时间步,Simulink 都计算信号和状态的新值。相比之下,您可以在编译模型时指定参数,并且可以在仿真运行时偶尔更改它们
创建简单模型
您可以使用 Simulink® 来对系统建模,然后仿真该系统的动态行为。本教程中创建简单模型所使用的基本方法也适用于创建更复杂的模型。此示例对简化的汽车运动进行仿真。当踩下油门踏板时,汽车通常处于行进状态。松开踏板后,汽车怠速并停下来。
Simulink 模块是定义模块输入和模块输出之间数学关系的模型元素。要创建这个简单模型,您需要四个 Simulink 模块。
模型层次结构
Simulink® 模型可以组织成具有层次结构的组件。在分层模型中,您可以选择查看整体系统,或沿模型层次结构向下导航以逐级深入模型细节