1,实现matlab 和 python混编必须版本对应
matlab 查看版本
命令行窗口输入
pyversion
我的matlab是R2020b的版本,可以对应 3.6,3.8等版本,具体版本对应查看从 Python 调用 MATLAB - MATLAB & Simulink - MathWorks 中国
(1)解决版本不对应问题
一开始我的版本是3.10版本,为了连接上matlab,把3.10删了,下载了3.8,但这个时候使用pyversion查看依旧是3.10版本
这时候 ,在matlab命令行中使用
先进入matlab命令行
在 Windows® 平台上,使用以下任一方式:
pyenv('Version','version')
或
pyenv('Version','executable')
其中 executable 是 Python 可执行文件的完整路径。 可执行文件路径例如:C:\Users\86191\AppData\Local\Programs\Python\Python38\pythonw.exe 然后再使用:
pyversion
查看版本已经换过来啦
(2)配置matlab文件
进入C:\Program Files\Polyspace\R2020b\extern\engines\python
shift+右键 进入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 --userd
(3)之后就可以在python中调用matlab
我用的是pycharm ,所以首先再pycharm中更换python版本,换成3.8
python代码
import matlab import matlab.engine eng = matlab.engine.start_matlab() t = eng.myls([4,2]) print(t)
matlab代码
function x=myls(values) x = values/2 end
python 代码与matlab代码放在同一文件夹下运行
如果出现 import matlab.engine 出错问题
把C:\Program Files\Polyspace\R2020b\extern\engines\python\build\lib下文件赋值粘贴到 C:\Users\86191\AppData\Local\Programs\Python\Python38\Lib文件夹下