主要内容

Python 中调用用户脚本和函数

此示例显示如何通过 Python® 来调用 MATLAB® 脚本,以计算三角形的面积。

要调用 MATLAB 脚本或函数,请将其放在您的 MATLAB 路径中。有关其他选项,请参阅将函数放在 Python 路径中

对于此示例,在当前文件夹中名为 triarea.m 的文件中创建一个 MATLAB 脚本。

b = 5;
h = 3;
a = 0.5*(b.* h)

保存该文件后,启动 Python 并调用该脚本。

import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
a =

    7.5000

指定 nargout=0。尽管脚本会打印输出,但它不会向 Python 返回任何输出参量。

将脚本转换为函数并通过引擎调用该函数。要编辑文件,请打开 MATLAB 编辑器。

eng.edit('triarea',nargout=0)

删除三个语句。然后添加一条函数声明并保存文件。

function a = triarea(b,h)
a = 0.5*(b.* h);

通过引擎调用新的 triarea 函数。

ret = eng.triarea(1.0,5.0)
print(ret)
2.5

triarea 函数仅返回一个输出参量,因此无需指定 nargout

将函数放在 Python 路径中

如果 MATLAB 函数不在 MATLAB 路径中,您可以从当前文件夹中调用它。例如,要调用文件夹 myFolder 中的 MATLAB 函数 myFnc,请键入:

import matlab.engine
eng = matlab.engine.start_matlab()
eng.cd(r'myFolder', nargout=0)
eng.myFnc()

如果 myFnc 位于文件夹 C:/work/myfiles 中,您可以将此文件夹添加到 Python 路径中。

eng.addpath("C:/work/myfiles")

要添加指向所有子文件夹的路径,请键入:

s = eng.genpath('C:/work/myfiles')
eng.addpath(s, nargout=0)

另请参阅

|

主题