启动和停止用于 Python 的 MATLAB 引擎
启动 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
环境变量设置为包的位置。Python 可能使用不同的文件夹名称进行安装。请验证系统上的安装文件夹,以便与 sys.path.append
命令结合使用。有关安装信息,请参考您的 Python 文档,例如模块搜索路径。
以下代码假设您使用了 为多个 MATLAB 版本安装 中显示的安装步骤。要将 Windows® 上的 PYTHONPATH
设置为调用 MATLAB R2022a,请键入:
sys.path.append("c:\work\matlab22aPy39\Lib\site-packages")
在 Linux® 或 macOS 上:
sys.path.append("/local/work/matlab22aPy39/Lib/site-packages")
要检查导入了哪个版本的 MATLAB,请在 Python 中键入:
import matlab
print(matlab.__file__)
异步启动引擎
以异步方式启动引擎。在 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()
停止引擎
调用 exit
或 quit
函数。
eng.quit()
如果在引擎仍在运行的情况下退出 Python,Python 会自动停止引擎及其 MATLAB 进程。