python和matlab连接

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命令行中使用

在 Windows 平台上设置 Python 版本

先进入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文件夹下


 



posted @ 2022-05-29 00:57  yayayua  阅读(1511)  评论(0)    收藏  举报