你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

通过 Python 调用 MATLAB 函数

2022/1/1 10:02:44

目录

从 MATLAB 函数返回输出参数

从 MATLAB 函数返回多个输出参数

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

停止执行函数

用函数名称替代 MATLAB 运算符


        通过 Python 调用 MATLAB 函数

从 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)