在使用 MATLAB/Simulink 做仿真时,如果模型比较复杂,普通仿真速度可能会比较慢。Simulink 提供了加速模式,但想要正常使用加速功能,通常需要先配置好 C/C++ 编译器。
本文以 Windows + MATLAB R2024a 为例,记录 MinGW64 编译器安装、环境变量配置、MEX 配置以及 Simulink 加速模式开启的完整过程。
说明:不同 MATLAB 版本对应的编译器支持情况可能不同,建议先到 MathWorks 官方页面确认版本兼容性。
作者已经将下述所有的需要的程序打包好了,可前往GitHub自行下载解压即可: https://github.com/2CM-Embed/mingw-w64---
当然也可以按照以下步骤自行安装
一、准备安装包
为了方便配置,可以提前准备好 MinGW64 编译器压缩包。也可以到 GitHub Release 页面下载对应版本。
到GitHub下载编译器版本:Releases · niXman/mingw-builds-binaries · GitHub

在 Release 页面中找到对应的压缩包文件,下载到本地即可。
二、查看 MATLAB 支持的编译器版本
首先进入 MathWorks 官方编译器支持页面:
https://www.mathworks.com/support/compilers
在页面中选择自己的 MATLAB 版本和系统平台,查看当前版本支持哪些编译器。

如果编译器版本不匹配,MATLAB 后续执行 mex -setup 时可能无法识别,或者提示找不到合适的编译器。
三、安装 MATLAB MinGW 支持包
MATLAB 也可以通过 Add-On 安装 MinGW 支持包。打开下载好的支持包文件,按提示安装附加功能。

安装过程中选择确认即可。

如果使用的是单独下载的 MinGW64 压缩包,也可以直接解压后手动配置环境变量。
四、解压 MinGW64
将下载得到的 MinGW64 压缩包解压到一个固定目录,例如:
E:\MATLAB\mingw64
解压后目录结构大致如下:

需要注意的是,后面配置环境变量时,要指向 MinGW64 的安装目录和 bin 目录。
五、配置 Windows 环境变量
按下 Windows 键,搜索:
环境变量
打开"编辑系统环境变量"。

进入系统属性后,点击:
环境变量

1. 配置用户变量
在用户变量中添加 MinGW64 相关路径,将 MinGW64 的 bin 目录加入 Path:
E:\MATLAB\mingw64\bin

2. 配置系统变量
在系统变量中新建变量
MW_MINGW64_LOC = E:\MATLAB\mingw64

配置完成后,建议关闭并重新打开 MATLAB、命令提示符和 VS Code 等软件,让新的环境变量生效。
六、验证 gcc 是否安装成功
按下快捷键:
Win + R
输入:
cmd
打开命令提示符。

在命令提示符中输入:
gcc -v
如果能看到 gcc 版本信息,说明 MinGW64 的环境变量已经配置成功。

如果提示 gcc 不是内部或外部命令,一般说明 Path 没有配置好,或者配置后没有重新打开终端。
七、在 MATLAB 中配置 MEX
打开 MATLAB,在命令行窗口中输入:
setenv('MinGW_HOME','E:\MATLAB\mingw64')
mex -setup
如果 MATLAB 成功识别 MinGW64,会出现类似提示:
MEX 配置为使用 'MinGW64 Compiler (C)' 以进行 C 语言编译。
然后继续配置 C++ 编译器:
要选择不同的语言,请从以下选项中选择一种命令:
mex -setup C++ (选择此项)
mex -setup FORTRAN
正常情况下会提示:
MEX 配置为使用 'MinGW64 Compiler (C++)' 以进行 C++ 语言编译。
如果 MATLAB 列出了多个 C++ 编译器选项,可以根据提示选择 MinGW64 对应的配置文件。
示例输出如下:
要选择不同的 C++ 编译器,请从以下选项中选择一种命令:MinGW64 Compiler (C++) mex -setup:E:\MATLAB\R2024a\bin\win64\mexopts\mingw64_g++.xml C++
MinGW64 Compiler with Windows 10 SDK or later (C++) mex -setup:E:\MATLAB\R2024a\bin\win64\mexopts\mingw64_g++_sdk10+.xml C++
选好之后会提示:
已将 options 文件 'C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\R2024a\mex_C++_win64.xml' 重命名为 'C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\R2024a\mex_C++_win64_backup.xml'。
MEX 配置为使用 'MinGW64 Compiler (C++)' 以进行 C++ 语言编译。
八、测试 MEX 是否可用
配置完成后,可以用 MATLAB 自带示例测试 MEX 编译功能:
mex timestwo.c
如果输出:
使用 'MinGW64 Compiler (C)' 编译。 MEX 已成功完成。
说明 MEX 编译器配置成功。
如果出现模型文件名错误,例如:
'SinglePhase_L_Rect_V1.0.slx' is not a valid Simulink model file name.
这通常不是编译器问题,而是 Simulink 模型文件名不符合规范。建议模型文件名不要包含特殊字符,例如中文标点、空格、特殊符号等。
九、打开 Simulink 并启用加速模式
MEX 配置完成后,打开 Simulink 模型。
在 Simulink 工具栏中找到仿真模式选项,将普通模式切换为:
加速

启用加速模式后,Simulink 会利用编译器生成中间代码,从而提升仿真速度。对于复杂模型,速度提升会比较明显。
十、常见问题总结
1. MATLAB 找不到 MinGW64
检查环境变量中是否配置了:
MW_MINGW64_LOC
以及 Path 中是否包含:
E:\MATLAB\mingw64\bin
配置后需要重新打开 MATLAB。
2. cmd 中输入 gcc -v 没反应
一般是 Path 没有配置正确。确认 gcc.exe 是否位于:
E:\MATLAB\mingw64\bin
然后把该路径加入系统 Path 或用户 Path。
3. mex -setup 找不到编译器
可以先在 MATLAB 中手动指定:
setenv('MinGW_HOME','E:\MATLAB\mingw64')
然后再执行:
mex -setup mex -setup C++
4. Simulink 加速模式无法运行
先确认 MEX 编译是否成功:
mex timestwo.c
如果 MEX 测试都失败,说明编译器配置还没有完成。应先解决 MEX 问题,再开启 Simulink 加速模式。
十一、总结
整个配置流程可以概括为:
下载 MinGW64 解压到固定目录 配置 Windows 环境变量 cmd 中用 gcc -v 验证 MATLAB 中执行 mex -setup 测试 mex timestwo.c Simulink 中切换到加速模式
配置成功后,Simulink 仿真速度可以明显提升,尤其适合电力电子、电机控制、控制系统等计算量较大的模型。
如果后续更换 MATLAB 版本,建议重新检查 MathWorks 官方编译器支持页面,并重新执行 mex -setup。