
第一章Simulink 基础认知1.1 什么是 Simulink1.1.1 Simulink 的定位与作用Simulink 是 MathWorks 公司开发的图形化仿真与模型设计环境运行于 MATLAB 之上。它允许工程师通过拖拽模块、连接信号线的方式构建动态系统模型无需手动编写大量数学公式代码。核心作用系统建模用图形化方式描述动态系统的数学行为仿真验证在真实硬件部署前验证算法和控制逻辑代码生成自动将模型转换为 C/C 代码部署到嵌入式硬件快速原型缩短从算法设计到硬件验证的周期一句话理解Simulink 就是一个可视化的数学仿真画板把复杂的微分方程、控制算法用图形模块表达出来然后让计算机帮你跑这个系统。1.1.2 Simulink 与 MATLAB 的关系┌─────────────────────────────────────────┐ │ MATLAB │ │ 数值计算 / 数据分析 / 脚本编程 │ │ │ │ ┌───────────────────────────────────┐ │ │ │ Simulink │ │ │ │ 图形化建模 / 动态仿真 / 代码生成 │ │ │ └───────────────────────────────────┘ │ └─────────────────────────────────────────┘对比项MATLABSimulink编程方式脚本/函数代码图形化模块连接擅长领域数值计算、数据处理动态系统仿真时间概念无静态计算有随时间演化典型用途矩阵运算、绘图控制系统、信号处理两者关系Simulink 必须依赖 MATLAB 运行MATLAB 可以调用 Simulink 模型sim()函数Simulink 模块内部可以嵌入 MATLAB 代码仿真结果可以导出到 MATLAB 工作区进行后处理1.1.3 典型应用领域① 控制系统设计传感器信号 → 控制器算法 → 执行器输出 PID控制、LQR、MPC、自适应控制② 信号处理原始信号 → 滤波/FFT/调制解调 → 处理结果 数字滤波器、通信系统仿真③ 汽车电子Automotive发动机控制 / 自动驾驶算法 / 电池管理系统 AUTOSAR 标准开发④ 嵌入式系统开发算法建模 → 代码生成 → 烧录到 MCU/DSP/FPGA 基于模型的设计 MBD⑤ 航空航天飞行控制律设计 / 导航算法 / 故障仿真⑥ 电力电子变频器控制 / 电网仿真 / 新能源系统1.2 Simulink 的核心概念1.2.1 模型ModelSimulink 模型是以.slx新版或.mdl旧版为扩展名的文件描述了一个动态系统的完整结构。模型文件.slx包含 ├── 模块Blocks系统的功能单元 ├── 信号线Lines模块间的数据连接 ├── 注释Annotations说明文字 └── 配置参数Configuration仿真设置模型的层次结构顶层模型 ├── 子系统 A │ ├── 模块 1 │ └── 模块 2 ├── 子系统 B │ ├── 子子系统 B1 │ └── 模块 3 └── 模块 41.2.2 模块Block模块是 Simulink 的基本功能单元每个模块完成特定的数学运算或功能。模块的组成 ┌─────────────────────────┐ │ │ ●──→│ 模块名称 │──→● ●──→│ 数学运算/功能 │ │ │ └─────────────────────────┘ 输入端口 输出端口模块的基本属性属性说明名称Name模块的标识符同一层级唯一参数Parameters控制模块行为的配置值输入端口Inport接收信号的端口输出端口Outport输出信号的端口采样时间Sample Time模块的执行频率常见模块举例Constant → 输出固定常数值 Gain → 信号乘以增益系数 Sum → 多路信号求和 Integrator → 对信号进行积分 Scope → 显示信号波形1.2.3 信号线Signal Line信号线连接模块的输出端口和输入端口传递数据。信号线的特性信号线携带的信息 ├── 数值Value实际传递的数据 ├── 维度Dimension标量/向量/矩阵 ├── 数据类型Data Typedouble/int/bool等 └── 采样时间Sample Time连续/离散信号线的颜色含义默认设置颜色含义黑色标量信号double绿色向量/矩阵信号橙色非 double 数据类型红色信号有错误或警告信号线操作连接从输出端口拖拽到输入端口 分支按住 Ctrl 从信号线拖出分支 标注双击信号线添加标签 删除选中后按 Delete 键1.2.4 仿真时间与步长Simulink 仿真的时间轴概念仿真时间轴 0 ─────────────────────────────→ Stop Time ↑ ↑ Start Time 仿真结束 每隔一个步长Step Size计算一次 |←── Step ──→|←── Step ──→|←── Step ──→| t0 t0.01 t0.02 t0.03关键参数参数说明典型值Start Time仿真开始时间0Stop Time仿真结束时间10秒Step Size计算步长auto 或 0.001Solver求解算法ode45连续/ Fixed-step离散连续系统 vs 离散系统连续系统 时间连续变化使用微分方程 求解器自动调整步长变步长 适合模拟电路、机械系统 离散系统 时间按固定间隔更新 步长固定Fixed-step 适合数字控制器、嵌入式代码生成1.3 Simulink 版本与工具箱1.3.1 常用工具箱介绍Simulink 本身是基础平台各专业领域通过**工具箱Toolbox**扩展功能工具箱名称功能典型应用Control System ToolboxPID设计、根轨迹、频域分析控制系统设计Signal Processing Toolbox滤波器设计、FFT信号处理Stateflow状态机、流程图逻辑控制Simulink Coder生成通用C代码代码生成Embedded Coder生成嵌入式优化C代码嵌入式开发Simscape物理系统建模机电液仿真Aerospace Blockset飞行动力学模块航空航天Powertrain Blockset动力总成模块汽车工程Deep Learning Toolbox神经网络AI/ML1.3.2 版本差异说明MathWorks 每年发布两个版本版本命名规则R 年份 a/b R2023a → 2023年上半年版本 R2023b → 2023年下半年版本各版本主要变化趋势版本区间主要变化R2012b 以前模型文件为 .mdl 格式R2012b 及以后模型文件改为 .slx 格式推荐R2019b 及以后新增 Simulink Online网页版R2021a 及以后改进 Data Dictionary、Test ManagerR2023a 及以后AI/ML 集成增强建议学习时使用R2020a 及以后版本界面和功能较为稳定完善。本教程以 R2022b 为基准。本章小结本章核心要点 ✅ Simulink 是图形化动态系统仿真环境运行于 MATLAB 之上 ✅ 核心元素模型(.slx) / 模块(Block) / 信号线(Line) ✅ 仿真时间Start Time → Stop Time按步长逐步计算 ✅ 连续系统用变步长求解器离散系统用固定步长 ✅ 工具箱扩展 Simulink 的专业功能 ✅ 推荐使用 R2020a 及以后版本课后练习安装 MATLAB/Simulink启动 Simulink 并熟悉界面布局打开 Library Browser浏览各模块库的分类思考你所在的领域控制/信号/嵌入式最常用哪些模块查看 MathWorks 官网了解你使用的 MATLAB 版本包含哪些工具箱