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程序中不能导入matlab及matlab.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)来定义好合适的数据格式。
有问题欢迎留言提问