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()
相关推荐
meilindehuzi_a9 小时前
从零理解并实现 RAG:用 LangChain.js 构建语义检索问答系统
开发语言·javascript·langchain
风流 少年10 小时前
Julia
开发语言·julia
江畔柳前堤10 小时前
GO01-Go 语言与主流编程语言深度对比
开发语言·人工智能·后端·微服务·云原生·golang·go
:-)11 小时前
算法-归并排序
java·开发语言·数据结构·算法·排序算法
GIS阵地12 小时前
QgsRasterDataProvider 完整详解(QGIS 3.40.13 C++)
开发语言·c++·qt·开源软件·qgis
yaoxin52112312 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
阿里嘎多学长13 小时前
2026-07-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管
中微极客13 小时前
解锁LLM开发全栈能力:Python + LangChain + RAG 工程实战指南
人工智能·python·langchain
hhzz13 小时前
Barbershop:基于GAN和分割Mask的图像合成技术——从理论到实战全解析
图像处理·人工智能·python·深度学习·计算机视觉
charlie11451419114 小时前
Cinux: 为大内核铺路
开发语言·c++·操作系统·现代c++