本节摘要:Simulink 是 MATLAB 生态下的图形化动态系统建模与仿真环境:系统被描述为模块与信号线组成的框图,框图背后是一组按时间推进求解的微分方程与差分方程。本节讲清两件事——这个定义里每个词的确切含义,以及它所服务的基于模型的设计(Model-Based Design,MBD)范式如何把模型变成需求、实现与验证之间的公共载体。本节是全书的认知原点:后面每一章的细节,都挂在这个范式框架上。
阅读完本节,你应当能够:
把定义拆开看。"图形化"说的是表达方式——系统用框图描述,模块是运算单元,信号线是数据依赖。这与手写微分方程是同一事物的两种视角:一个积分器模块就是方程左端的状态导数,连线方向就是变量间的因果次序。"动态系统"说的是研究对象——行为随时间演化的系统,电机转速会爬升、电容电压会充电、温度会扩散,静态的表格计算不在它的主场。"仿真环境"说的是运行语义——框图不只是示意图,按下运行键后它真的会被求解器逐步计算,这一点把它与 Visio 类绘图软件彻底区分开。
"MATLAB 生态"这个定语也值得咀嚼。框图里任何一个参数、任何一段自定义算法,都可以调用 MATLAB 的数值计算、矩阵运算与可视化能力;反过来,仿真结果天然回到 MATLAB 工作区做后处理。画布负责结构,脚本负责算术与自动化,两者分工明确——这也是为什么老手往往左手画布、右手命令行。
传统开发流程里,文档、代码、测试用例是三套各自维护的东西:文档写着"超速时应在 50 毫秒内切断输出",代码里是某行很难认出来的比较逻辑,测试用例躺在另一份表格里。三者随时间发散,文档过期、代码与测试对不上,是行业常态。MBD 的主张是:让可执行的模型坐在中间,充当单一事实来源——需求映射为模型结构与参数,实现从模型自动生成,测试围绕模型展开。文档退居辅助,描述模型"为什么这么设计",而不是"长什么样"。
这个范式把模型推上了三重角色。其一是可执行的规范:需求评审时,与会者面对的不再是含糊的文字,而是能当场运行的行为描述,"超速"的阈值、判断周期、输出动作全部显式可见,歧义无处藏身。其二是可演进的资产:模型按版本管理,改一版参数跑一版对比,每次修改都有记录可查;下个项目遇到相似对象,子系统直接复用,参数重新辨识即可。其三是验证基准:无论后面把控制算法移植到定点处理器还是重构成状态机,只要新实现与原模型在同一激励下输出一致,重构就没有引入回归。
💡 一个判断标准:如果你的团队在评审时需要"脑内运行"代码才能确认行为,说明模型还没成为规范;如果评审时大家围着一条仿真曲线讨论,模型就已经在工作了。

沿 V 字左侧向下,模型逐层细化:系统级模型拆出控制器模型与被控对象模型,控制算法在模型在环(Model-in-the-Loop)阶段与对象模型闭环联调。沿右侧向上,每一层实现都拿左侧同层的模型当参照:生成的代码与模型比(软件在环,SIL),真实控制器与模型比(处理器在环与硬件在环,HIL),最后整车台架再与当年那份模型记录的设计意图比。第 7 章与第 8 章会把右侧这条验证链完整展开。
MBD 不是免费午餐,它成立依赖三个前提,缺一个就会退化成"高级画图"。前提一:对象可以用方程描述。 纯逻辑、纯流程类的系统(比如审批流)硬套框图范式会很别扭,这类问题有更合身的工具。前提二:模型有人维护。 模型资产属性只有在版本管理、参数集中、结构清晰这些纪律下才兑现,一锅粥式的单文件大模型谈不上资产。前提三:验证闭环真的在转。 只建模不验证,模型很快与现实脱节,最后没人敢信它。
参数管理是新手最容易忽视的前提。把增益、时间常数直接敲进模块对话框,短期省事,长期受罪:调参靠手改、对比靠记忆、交接靠口口相传。正确做法是参数集中定义在脚本或数据字典里,模型只引用变量名。一个最小的工作流长这样:
% motor_params.m —— 电机模型参数集中定义 J = 0.01; % 转动惯量,单位 kg·m^2 b = 0.1; % 粘性摩擦系数,单位 N·m·s Kt = 0.05; % 转矩常数,单位 N·m/A Ke = 0.05; % 反电动势常数,单位 V·s/rad R = 1; % 电枢电阻,单位 ohm L = 0.5e-3; % 电枢电感,单位 H % 运行仿真:加载参数后从命令行驱动 % >> motor_params % >> load_system('motor_speed_model') % >> out = sim('motor_speed_model'); % >> plot(out.tout, outyout{1}.Values) % 查看转速响应
这份脚本本身成了文档:每一行参数带物理单位与注释,模型里只看到变量名 J、Kt。第 6 章的数据字典会把这个习惯升级成团队级的规范。
什么时候不必用 MBD? 一次性验证一个公式、算一个数值积分作业,直接写几行 MATLAB 脚本更省时间;为一张汇报 PPT 画系统示意图,也不必劳驾仿真。MBD 的收益随系统复杂度、团队规模与验证要求的提高而放大,玩具级问题享用不到这些收益。
下一节我们将走进画布本身——那些你每天会盯着看八小时的可视元素,各自在偷偷告诉你什么信息。