主要内容

初始化 MATLAB Runtime

当您将编译的 MATLAB® 函数集成到 Python® 应用程序中时,您的代码必须初始化 MATLAB Runtime 和该应用程序中任何编译的包。

  1. 为了初始化 MATLAB Runtime 并能够选择启动选项,请调用 initialize_runtime() 函数。随后,系统将加载并启动 MATLAB Runtime

    调用 initialize_runtime() 是可选操作。如果您调用 initialize() 而没有先调用 initialize_runtime()MATLAB Runtime 启动时不会提供启动选项。

  2. 使用该应用程序中每个编译的包的 initialize() 函数来检索可用于调用包内的 MATLAB 函数的句柄。只对每个编译的包调用一次 initialize() 函数。

提供 MATLAB Runtime 启动选项

MacOS

macOS 上,启动 Python 时必须将 MATLAB Runtime 选项传递给 mwpython 命令。使用 -mlstartup 后跟以逗号分隔的 MATLAB Runtime 选项列表。传递给 initialize_runtime()MATLAB Runtime 选项会被忽略。

所有平台

MATLAB Runtime 有以下两个可以指定的启动选项:

  • -nojvm - 禁用默认启用的 Java® 虚拟机。这有助于提高 MATLAB Runtime 的性能。

  • -nodisplay - 在 Linux® 上,运行 MATLAB Runtime 而不提供显示功能。

您需要在初始化编译的 MATLAB 函数之前指定这些选项。为此,您可以使用 MATLAB Runtime 选项调用生成的 Python 包的 initialize_runtime() 方法。MATLAB Runtime 选项列表作为字符串列表传递。例如,要为包 addmatrix 启动 MATLAB Runtime 并且不提供显示功能且禁用 Java 虚拟机,请使用以下代码。

import addmatrix

addmatrix.initialize_runtime(['-nojvm', '-nodisplay'])

如果您的应用程序使用多个 Python 包,则只需从一个包中调用 initialize_runtime()。第一次调用会为 MATLAB Runtime 会话设置运行时选项。任何后续调用会被忽略。

启动 MATLAB Runtime 并加载编译的 MATLAB 函数

要调用某个编译的 MATLAB 函数,需将其加载到 MATLAB Runtime 中。方法是调用生成的 Python 包的 initialize() 方法。initialize() 方法会返回一个对象,该对象可用于调用包中的编译的 MATLAB 函数。例如,要启动 MATLAB Runtime 并加载 addmatrix 包中的 MATLAB 函数,请使用以下代码。

import addmatrix

myAdder = addmatrix.initialize()

注意

导入组件后便无法再导入 matlab.engine。有关 matlab.engine 的详细信息,请参阅启动和停止用于 Python 的 MATLAB 引擎

另请参阅

主题