最近在找算法的时候扒到一篇有用matlab写的算法,但我平时用的都是python,所以在网上找了有关python调用matlab.m文件的教程。但或多或少都有点问题,经过不断尝试总算成功了。先说下软件版本我用matlab是R2020a,python是3.7。大家在转换的时候第一步先看好版本对应关系,要不然白浪费时间。以下是matlab官方给出的版本对应关系。
一、安装matlab的engine
1、找到matlab安装目录下D:\Program Files\Polyspace\R2020a\extern\engines\python这个目录
2、然后在命令窗口cd在上面那个目录下,运行这个命令Python setup.py install回车即可,一般应该都不会报错。
3、将运行产生的lib\matlab文件夹(D:\Program Files\Polyspace\R2020a\extern\engines\python\build\lib)复制到python安装的lib文件夹内(我的是虚拟环境,放在了C:\Users\73597\miniconda3\envs\env\Lib\site-packages),这步很重要,之前因为这步没弄纠结了好久!
二、在pycharm里调用.m文件
首先将.m文件和python文件在同一个目录下
然后运行python文件第一次比较慢。
function c = add(a, b)
c = a + b;
end
这是matlab代码 这是python代码
import matlab.engine
eng = matlab.engine.start_matlab()
c = eng.add(1, 2)
print(c)
运行结果如下