1、matlab和python交互的环境配置
matlab2019b+python3.6
首先在matlab的命令行输入:pyversion
如下图所示:
由此可见,matlab 是可以识别python版本的。如果你的matlab的命令行里面输入了pyversion,发现并没有找到python,那可能是python的环境变量没有添加进去,添加环境变量步骤如下:
右击我的电脑-----------属性--------高级系统设置------------环境变量———系统变量————path------新建
根据自己的python路径,添加环境变量即可。
2、matlab和python的交互测试
(1)matlab调用python:
在python中写入函数:
# myfun.py
def test():
print('Hello, Matlab!')
def add(a, b):
c = a + b
return c
将Matlab切换到myfun.py所在的目录,调用Python函数(非常重要,本人踩过雷,)
在matlab的命令行输入:py.myfun.test()
亲测如下:
至此,matlab调用python成功。
(2)python调用matlab
首先在matlab中配置好python的环境
1、在matlab软件安装路径下,找到文件目录“./extern/engines/python”,具体如下所示(红色框选的文件为原始存在的文件):
2、以管理员身份运行cmd(必须是管理员身份运行,踩过雷,不然会拒绝访问)
切换到python文件夹下:
cd /d D:\Program Files\MATLAB\R2019b\extern\engines\python
然后依次执行下面的代码:
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 --user
执行完毕后,将会生成步骤1图中三个没有被红色框框出来的三个文件夹
3,测试代码:
# # coding=utf-8
import matlab.engine
from numpy import *
if __name__ == '__main__':
eng = matlab.engine.start_matlab('MATLAB_R2019b')
A = matlab.double([[1, 2], [5, 6]])
print(type(A), A.size, A)
print(eng.eig(A))
eng.quit()
pass
结果如下
至此,大功告成
感谢 :https://blog.csdn.net/william_hehe/article/details/82828873