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()
相关推荐
爱吃KFC的大肥羊2 小时前
Redis 基础完全指南:从全局命令到五大数据结构
java·开发语言·数据库·c++·redis·后端
计算机毕业编程指导师2 小时前
【Python大数据选题】基于Spark+Django的电影评分人气数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·django·电影评分人气
Kiri霧2 小时前
Go 结构体
java·开发语言·golang
沐知全栈开发2 小时前
《jQuery 密码验证》
开发语言
-大头.2 小时前
Java泛型实战:类型安全与高效开发
java·开发语言·安全
charlie1145141912 小时前
现代C++工程实践:简单的IniParser4——实现ini_parser
开发语言·c++·笔记·学习·工程
lsx2024062 小时前
R 注释:全面指南与最佳实践
开发语言
jimy12 小时前
ps aux|grep pid 和 ps -p pid 的区别
java·linux·开发语言
西西弗Sisyphus2 小时前
C++ 实现支持 32 位和 64 位进程的模块枚举
开发语言·c++·操作系统