simulink与python联合仿真(一)安装MATLAB引擎

参考文章:

安装用于 Python 的 MATLAB Engine API - MATLAB & Simulink

一、前置检查:Python 与 MATLAB 版本兼容性

1.1 确认 Python 版本(核心要求)

  • 必须使用64 位 Python,可通过以下代码验证:
复制代码
  import sys 
  print(sys.maxsize > 2**32)
  • 需匹配 MATLAB 官方兼容的 Python 版本(参考 MATLAB 官网版本兼容表)。

Python 版本确认方法-CSDN博客

MATLAB 产品(按版本)兼容的 Python 版本 - MATLAB & Simulink

二、安装引擎 MATLAB Engine API for Python

2.1 安装指令适配规则(核心分界)

MATLAB 版本 配置文件支持 推荐安装指令 适用场景说明
R2023a 及更新 含 pyproject.toml/setup.cfg python -m pip install .(官网推荐) 标准 pip 包管理,支持卸载 / 升级、虚拟环境安装
R2022b 及更早 仅含 setup.py 修改版本号后可支持pip install . 无现代 pip 配置,需适配版本号格式

补充说明:

  • 多 Python 版本 / 虚拟环境场景:需指定具体 Python 路径,如D:\appc\Anaconda3\envs\pytorch1\python.exe -m pip install .
  • 卸载 / 升级:R2023a + 可执行pip uninstall matlabengine;R2022b 及更早需手动删除安装目录。

2.2 关键适配:修改 setup.py 版本号(R2022b 及更早必做)

2.2.1 版本号对应表(纯数字格式,适配 Python packaging 库)
MATLAB 版本 对应纯数字版本号 备注
R2025a 25.1.0 原生支持pip install .
R2024b 24.2.0 原生支持pip install .
R2024a 24.1.0 原生支持pip install .
R2023b 23.2.0 原生支持pip install .(补充 pyproject.toml)
R2023a 23.1.0 首个支持pip install .的版本(核心分界点)
R2022b 22.2.0 需改版本号才能用pip install .
R2022a 22.1.0 同上
R2021b 21.2.0 同上
R2021a 9.10.0 适配关键(非 21.1.0,需注意!)
R2020b 9.9.0 同上
R2020a 9.8.0 同上
R2019b 9.7.0 同上
R2019a 9.6.0 同上
R2018b 9.5.0 同上
R2018a 9.4.0 同上
2.2.2 修改步骤(以 R2021a 为例)
  1. 定位文件路径:D:\appd\Matlab\MATLABR2021a\extern\engines\python\setup.py
  2. 打开文件,找到版本号定义行:VERSION = 'R2021a'
  3. 替换为纯数字版本号:VERSION = '9.10.0'
  4. 保存文件(若提示只读,右键文件→属性→取消 "只读")。
2.2.3 修改原因

MATLAB 版本命名(如 R2021a)含字母,而 Python packaging库强制要求版本号为「X.Y.Z」纯数字格式,高版本setuptools无法兼容非标准格式;修改版本号可直接绕过格式校验,比降级setuptools更稳定(避免环境依赖冲突)。

2.3 具体安装方法

先确定Python 可执行文件路径

复制代码
conda info --envs

envs 的 Python 可执行文件路径 = 环境路径 + \python.exe,即:D:\appc\Anaconda3\envs\pytorch1\python.exe

下面开始安装引擎

方法 1:从 MATLAB 内安装(Windows)

复制代码
cd (fullfile(matlabroot,"extern","engines","python"))
% R2022b及更早(老版本,需先改版本号)
system("D:\appc\Anaconda3\envs\pytorch1\python.exe -m pip install .")
方法 2:从操作系统终端安装
  1. 确认 MATLAB 安装路径:在 MATLAB 命令行执行matlabroot,输出如C:\Program Files\MATLAB\R2021a(Windows)

    cd "matlabroot\extern\engines\python"
    D:\appc\Anaconda3\envs\pytorch1\python.exe -m pip install .

方法 3:从 Python Package Index 安装

直接通过 pip 安装(需匹配 MATLAB 版本),安装后引擎会编译并安装到默认位置。

使用上述三种安装方法任意一种,则 MATLAB 引擎将编译并安装到默认位置

方法 4:非默认文件夹安装
  • setup.py安装:python setup.py install --prefix=自定义路径
  • 用 Python Package Index 安装:指定--target参数自定义路径。
方法 5:虚拟环境安装(推荐)
复制代码
# 激活虚拟环境
conda activate pytorch1
# 切换到Engine目录后执行
python -m pip install .

2.4 安装成功验证

Python 端验证

复制代码
import matlab.engine
eng = matlab.engine.start_matlab()
eng.version()  # 输出MATLAB版本号,如'9.15.0'(R2023b)
eng.quit()
MATLAB 端验证
复制代码
% 1. 关联pytorch1环境的Python(重启MATLAB后第一时间执行)
pyversion("D:\appc\Anaconda3\envs\pytorch1\python.exe");

% 2. 测试Python调用
try
    py.importlib.import_module('matlab.engine');
    disp('✅ MATLAB中可正常加载Python的matlab.engine模块');
catch ME
    error('❌ 加载失败:%s', ME.message);
end

三、启动 MATLAB 引擎(Python 端)

复制代码
import matlab.engine
# 启动引擎(核心操作)
eng = matlab.engine.start_matlab()

# 后续可调用MATLAB/Simulink功能,示例:
# eng.cd("Simulink模型路径", nargout=0)  # 切换到模型目录
# eng.sim("模型名", nargout=0)  # 运行Simulink仿真

# 用完后关闭引擎
eng.quit()
相关推荐
island131413 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
坚持就完事了13 小时前
Java中的集合
java·开发语言
摘星编程13 小时前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶13 小时前
Python 项目版本控制
开发语言·python
lili-felicity13 小时前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python
一个有梦有戏的人13 小时前
Python3基础:进阶基础,筑牢编程底层能力
后端·python
云小逸13 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
冰暮流星13 小时前
javascript之二重循环练习
开发语言·javascript·数据库
风指引着方向13 小时前
自定义算子开发入门:基于 CANN op-plugin 的扩展实践
开发语言
Fairy要carry13 小时前
面试-GRPO强化学习
开发语言·人工智能