从MATLAB调用Python函数

77

我需要从MATLAB调用一个Python函数,我该怎么做?


2
MATLAB是否支持套接字? - Geo
1
显然它确实具有套接字支持http://code.google.com/p/msocket/,如果这有帮助。 - Adrian
1
如果我们要添加选项:https://github.com/kw/pymex - robince
与将Matlab代码转换为Python(还提到了一些调用接口)相关的内容,请参考以下链接:https://dev59.com/Vmkw5IYBdhLWcg3wg6yg - 0 _
为什么不接受答案?当问题被提出时,“正确”的答案并不存在,但现在已经有了:https://dev59.com/HHI-5IYBdhLWcg3wu7BU#29189167 - 0 _
https://mathworks.com/help/matlab/call-python-libraries.html - Priyanka
13个回答

3

像Daniel所说的那样,您可以使用py.命令直接从Matlab运行Python命令。要运行任何库,请确保Malab正在运行安装库的Python环境:

在Mac上:

  • 打开一个新的终端窗口;

  • 输入:which python(查找默认版本的python安装位置);

  • 重新启动Matlab;

  • 在命令行中输入:pyversion('/anaconda2/bin/python')(显然替换为您的路径)。
  • 现在,您可以在默认的Python安装中运行所有库。

例如:

py.sys.version;

py.sklearn.cluster.dbscan


1
这是我在这里找到的最简单的解决方案,它应该排名更靠前! - NeStack

1

这似乎是一种将Python函数“隧道”到MATLAB中的合适方法:

http://code.google.com/p/python-matlab-wormholes/

最大的优势是您可以使用它处理ndarrays,这是程序的标准输出所不可能做到的,正如之前所建议的那样。(如果您认为这是错误的,请纠正我-这将节省我很多麻烦:-))


-1

由于Python是一种更好的粘合语言,因此从Python调用程序中的MATLAB部分可能比反过来更容易。

请查看Mlabwrap


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接