天天看点

python调用matlab函数_从python调用MATLAB函数

我知道这是一个老问题,已经得到答复。但是我一直在寻找相同的东西(对于Mac),发现有很多选择与matlab交互的方法和成熟度不同。这是我发现的:

pymat

使用matlab引擎(libeng)进行通信的Matlab底层接口(基本上是matlab随附的库)。该模块必须编译并与libeng链接。

http://pymat.sourceforge.net

pymat2

脓垫发育的持续时间较短。似乎可以在Windows(包括64位),Linux和Mac(经过一些更改)上工作。

https://code.google.com/p/pymat2/

包裹

一个高级接口,它也是一个模块,需要编译和链接 libeng。它将Matlab函数公开给python,因此您可以做一些有趣的事情,例如

mlab.plot(x, y, 'o')

http://mlabwrap.sourceforge.net

玛拉

mlabwrap的重新包装工作。基本上,它取代了C ++代码,对在“libeng”链接mlabwrap用蟒模块(matlabpipe),其与通过管道MATLAB连通。这样做的主要优点是不需要任何形式的编译。

不幸的是,该软件包当前存在一些错误,并且似乎根本无法在Mac上运行。我报告了其中一些,但最终放弃了。另外,如果您必须进入源代码,请做好准备,以应对大量的骗局和大量丑陋的骇客;-)如果这变得更加成熟,则可能是最佳选择之一。

https://github.com/ewiger/mlab

pymatlab

较新的软件包(2010)也可以通过与Matlab进行交互libeng。与其他软件包不同,此软件包通过ctypes加载引擎库,因此无需编译。它不是没有缺陷,但仍然可以维护,我发现的(特定于64bit Mac的)问题应该很容易解决。

http://pymatlab.sourceforge.net

python-matlab-bridge

还有一个仍在积极维护的更新程序包。通过某种套接字与Matlab通信。不幸的是,公开的功能有些限制。我不知道如何调用以结构为参数的函数。需要易于安装的zmq,pyzmq和IPython。

http://arokem.github.io/python-matlab-bridge