主要内容

matlab.engine.MatlabEngine

命名空间: matlab.engine

Python 对象使用 MATLAB 作为 Python 会话中的计算引擎

描述

MatlabEngine 类使用 MATLAB® 进程作为 Python® 的计算引擎。您可以将 MATLAB 函数作为 MatlabEngine 对象的方法调用,因为这些函数在您调用时会被动态调用。您还可以调用您定义的函数和脚本。您可以向与 MatlabEngine 对象关联的 MATLAB 工作区发送数据,以及从中检索数据。

创建对象

matlab.engine.start_matlab 方法在每次被调用时都会创建一个 MatlabEngine 对象。无需调用 matlab.engine.MatlabEngine() 来创建您自己的 MatlabEngine 对象。

属性

属性描述

workspace

Python 字典包含对 MATLAB 变量的引用。您可以通过 workspace 向 MATLAB 变量赋予数据以及从中获取数据。您创建的每个 MATLAB 变量的名称都成为 workspace 字典中的一个键。workspace 中的键必须是有效的 MATLAB 标识符(例如,您不能将数字用作键)。

方法

全部展开

异常

异常描述
MatlabExecutionError

函数调用无法执行

RejectedExecutionError

MATLAB 引擎已终止

SyntaxError

函数调用中的语法错误

TypeError

输入或输出参量的数据类型不受支持

示例

全部折叠

使用引擎从 Python 调用 MATLAB sqrt 函数。

import matlab.engine
eng = matlab.engine.start_matlab()
ret = eng.sqrt(4.0)
print(ret)
2.0

在 Python 中创建一个数组并将其放入 MATLAB 工作区中。

import matlab.engine
eng = matlab.engine.start_matlab()
px = eng.linspace(0.0,6.28,1000)

px 是一个 MATLAB 数组,但 eng.linspace 将其返回到 Python。要在 MATLAB 中使用它,请将该数组放入 MATLAB 工作区中。

eng.workspace['mx'] = px

当您向引擎 workspace 字典添加一个条目时,您也会创建一个 MATLAB 变量。引擎将数据转换为一个 MATLAB 数据类型。

从 MATLAB 工作区获取 pi 并将其复制到一个 Python 变量。

import matlab.engine
eng = matlab.engine.start_matlab()
eng.eval('a = pi;',nargout=0)
mpi = eng.workspace['a']
print(mpi)
3.14159265359

版本历史记录

在 R2014b 中推出