从 Python 调用 MATLAB

最近在折腾MATLAB和python联合编程,初衷是希望用python训练深度学习算法,用MATLAB里面的一些模型。虽然MATLAB里面已经有了一些机器学习和深度学习相关的工具箱了,但是目前训练深度学习算法用tensorflow和pytorch这样的开源软件才是主流。参考:Python和matlab混编时,遇到问题:ImportError: No module named matlab.engine"的解决方法

先把这个过程记录下来,与大家一起交流学习。

第一步:安装用于 Python 的 MATLAB 引擎 API
这部分在mathworks官方文档都有,我使用的是2020a版本,支持py版本 2.7、3.6 和 3.7。安装可以参考网上其他一些文章,大概就是在matlab软件安装路径下,找到文件目录“./extern/engines/python”,win+r打开cmd,在当前路径下依次执行如下命令行:

python setup.py build --build-base="builddir" install

python setup.py install --prefix="installdir"

python setup.py build --build-base="builddir" install --prefix="installdir"

python setup.py install --user

这样就不会出现常见的 ImportError: No module named matlab.engine 问题了,最后使用下面的代码验证是否安装成功。

import matlab.engine
from numpy import *
if __name__ == '__main__':
    eng = matlab.engine.start_matlab('MATLAB_R2016b')
    A = matlab.double([[1,2],[5,6]])
    print(type(A),A.size,A)
    print(eng.eig(A))
    eng.quit()
    pass

第二步:调用

import matlab.engine
eng = matlab.engine.start_matlab()  #运行
eng.quit()  #停止
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容