Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

启动和停止用于 PythonMATLAB 引擎

启动 MATLAB Engine for Python

  • 在操作系统提示符下启动 Python®

  • matlab.engine 包导入您的 Python 会话中。

  • 通过调用 start_matlab 启动新的 MATLAB® 进程。start_matlab 函数返回 Python 对象 eng,您可以通过该对象传递数据和调用由 MATLAB 执行的函数。

import matlab.engine
eng = matlab.engine.start_matlab()

使用启动选项启动引擎

启动引擎,并将选项作为输入参数字符串传递给 matlab.engine.start_matlab。例如,随桌面启动 MATLAB。

eng = matlab.engine.start_matlab("-desktop")

您可以使用单个字符串定义多个启动选项。例如,启动桌面并将数值显示格式设置为 short

eng = matlab.engine.start_matlab("-desktop -r 'format short'")

您也可以在启动引擎后启动桌面。

import matlab.engine
eng = matlab.engine.start_matlab()
eng.desktop(nargout=0)

启动特定 MATLAB 引擎版本

要启动特定版本的 MATLAB 引擎,请将 PYTHONPATH 环境变量设置为包的位置。以下代码假设您使用了上一节中显示的设置。要将 Windows 上的 PYTHONPATH 设置为调用 MATLAB R2022a,请键入:

sys.path.append("c:\work\matlab22aPy39")

在 Linux®macOS 上:

sys.path.append("/local/work/matlab22aPy39")

要检查导入了哪个版本的 MATLAB,请在 Python 中键入:

import matlab
print(matlab.__file__)

Python 可能使用不同文件夹名称进行安装。例如,Python 在安装 MATLAB 引擎之前可能会创建一个子文件夹 lib/site-packages。请验证系统上的文件夹,以便与 sys.path.append 命令结合使用。

异步启动引擎

以异步方式启动引擎。在 MATLAB 启动时,您可以在 Python 命令行中输入命令。

import matlab.engine
future = matlab.engine.start_matlab(background=True)

创建 MATLAB 实例,以便在 MATLAB 中执行计算。

eng = future.result()

运行多个引擎

分别启动每个引擎。每个引擎启动自己的 MATLAB 进程并与之通信。

eng1 = matlab.engine.start_matlab()
eng2 = matlab.engine.start_matlab()

停止引擎

调用 exitquit 函数。

eng.quit()

如果在引擎仍在运行的情况下退出 Python,Python 会自动停止引擎及其 MATLAB 进程。

另请参阅

相关主题