Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

通过 Python 调用 MATLAB 函数

使用 MATLAB® Engine API for Python® 调用 MATLAB 路径中的任何 MATLAB 函数。

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

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

MATLAB 函数返回输出参数

您可以直接调用任何 MATLAB 函数并将结果返回到 Python。例如,要确定某个数是否为质数,请使用该引擎调用 isprime 函数。

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
True

MATLAB 函数返回多个输出参数

当使用引擎调用函数时,默认情况下该引擎会返回单个输出参数。如果您知道函数可能返回多个参数,请使用 nargout 参数指定输出参数的数量。

要确定两个数的最大公分母,请使用 gcd 函数。设置 nargout 以从 gcd 返回三个输出参数。

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
(20.0, 1.0, -1.0)

不从 MATLAB 函数返回任何输出参数

有些 MATLAB 函数不会返回任何输出参数。如果函数不返回任何参数,则将 nargout 设为 0。

通过 Python 打开 MATLAB 帮助浏览器。

import matlab.engine
eng = matlab.engine.start_matlab()
eng.doc(nargout=0)

MATLAB doc 函数将打开浏览器,但不会返回输出参数。如果您没有指定 nargout=0,引擎将报告错误。

停止执行函数

要停止执行 MATLAB 函数,请按 Ctrl+C。控制权将返回给 Python。

用函数名称替代 MATLAB 运算符

您可以通过调用等效函数在 Python 中使用 MATLAB 运算符。有关运算符和关联的函数名称的列表,请参阅 MATLAB 运算符和关联的函数。例如,要添加两个数值,请使用 plus 函数,而不是 + 运算符。

import matlab.engine
eng = matlab.engine.start_matlab()
a = 2
b = 3
eng.plus(a,b) 

另请参阅

|

相关主题