从 Python 中调用 MATLAB
编写可用于 MATLAB® 的 Python® 程序
MATLAB Engine API for Python 可提供一个包,供 Python 将 MATLAB 作为计算引擎来调用。该引擎支持参考实现 (CPython)。有关支持的版本信息,请参阅 MATLAB 产品(按版本)兼容的 Python 版本。
要安装和启动该引擎,请参阅MATLAB Engine API for Python 快速入门。
要从 MATLAB 调用 Python 函数,请参阅从 MATLAB 中调用 Python。
引擎应用程序需要已安装版本的 MATLAB;您无法在只有 MATLAB Runtime 的机器上运行 MATLAB Engine。
函数
类
主题
安装
- MATLAB Engine API for Python 的系统要求
编写和编译用于 Python 的 MATLAB 引擎应用程序的要求。 - 安装用于 Python 的 MATLAB Engine API
要在 Python 会话中启动 MATLAB Engine,请将该引擎 API 安装为 Python 包。
快速入门
- MATLAB Engine API for Python 快速入门
MATLAB Engine API for Python 提供了名为matlab
的 Python 包,使您能够通过 Python 调用 MATLAB 函数。该包仅安装一次,然后您便可在当前或未来的 Python 会话中调用引擎。有关安装或启动引擎的帮助,请参阅: - 启动和停止用于 Python 的 MATLAB 引擎
用以启动用于 Python 的 MATLAB 引擎的选项。 - 通过 Python 调用 MATLAB 函数
如何从 MATLAB 函数返回输出参量。如何从函数读取多个输出。当 MATLAB 函数没有返回输出参量时应该怎么做。 - 从 Python 获取 MATLAB 函数的帮助
您可以从 Python 访问所有 MATLAB 函数的支持文档。此文档包括示例,并说明每个函数的输入参量、输出参量和调用语法。
会话管理
- 将 Python 连接到正在运行的 MATLAB 会话
如何将用于 Python 的 MATLAB 引擎连接到已在您的本地机器上运行的共享 MATLAB 会话。
使用 MATLAB 工作区
- 在 Python 中使用 MATLAB 引擎工作区
此示例说明如何在 Python 中将变量添加到 MATLAB 引擎工作区。
数据交换和映射
- 在 Python 中使用 MATLAB 数组
此示例说明如何在 Python 中创建 MATLAB 数组并将其作为输入参量传递给 MATLABsqrt
函数。 - MATLAB 数组作为 Python 变量
matlab
Python 模块提供数组类以将 MATLAB 数值类型的数组表示为 Python 变量,以便 MATLAB 数组可以在 Python 和 MATLAB 之间传递。 - 从 Python 将数据传递到 MATLAB
当您将 Python 数据作为输入参量传递到 MATLAB 函数时,MATLAB Engine for Python 会将数据转换为等效的 MATLAB 数据类型。 - 处理从 MATLAB 返回到 Python 的数据
当 MATLAB 函数返回输出参量时,MATLAB Engine API for Python 会将数据转换为等同的 Python 数据类型。 - 在 Python 中使用 MATLAB 句柄对象
此示例说明如何从 MATLAB 句柄类创建对象,并在 Python 中调用其方法。 - MATLAB 和 Python 中的默认数值类型
默认情况下,MATLAB 以双精度浮点数形式存储所有数值。而 Python 默认情况下将一些数值存储为整数。由于这种差异,您可能会将整数作为输入参量传递给需要双精度数值的 MATLAB 函数。
调用 MATLAB 函数
- 从 Python 中调用用户脚本和函数
此示例显示如何通过 Python 来调用 MATLAB 脚本,以计算三角形的面积。 - 从 Python 对 MATLAB 数据进行分类并绘图
此示例说明如何在 Python 中将患者数据分类到吸烟者和非吸烟者列表中,并对 MATLAB 患者的血压读数绘图。 - 从 Python 以异步方式调用 MATLAB 函数
此示例说明如何从 Python 异步调用 MATLABsqrt
函数,并稍后检索平方根。 - 将标准输出和错误重定向到 Python
此示例说明如何将标准输出和标准错误从 MATLAB 函数重定向到 PythonStringIO
对象。
疑难解答
MATLAB Engine API for Python 的限制
MATLAB Engine API for Python 不支持以下功能。
Troubleshoot MATLAB Errors in Python
When a MATLAB function raises an error, the MATLAB Engine for Python stops the function and catches the exception raised by MATLAB.