Linux解决Python调用Matlab函数无法导入matlab.engine问题及其他注意事项

问题描述

Linux系统,根据matlab官方文档说明,利用Matlab中的API来实现Python调用Matlab函数。具体方法见文档:

https://ww2.mathworks.cn/help/matlab/matlab-engine-for-python.html?s_tid=CRUX_lftnav

但在进行完上述步骤之后,在Python程序中不能导入matlabmatlab.engine库,最终解决。

问题原因

因为电脑中装了Anaconda以及多个不同版本Python虚拟环境,因此在 Python setup.py install之后,引擎只是装载了目前默认的第三方库目录中,而我们想使用的Python版本并不能调用该引擎。

解决办法

matlabroot\extern\engines复制粘贴到合适版本的Python第三方库目录下,比如anaconda/envs/py35/lib/python3.5/site-package下,即可解决。

其他问题

matlab与python的数据格式有很大不同,新手会经常出错,建议多看看文档,用matlab.double(param)来定义好合适的数据格式。

有问题欢迎留言提问