1.版本对应问题
python3.6可以调用matlab2018b的引擎运行函数
实现方式:在matlab2018b的安装目录下,进入extern\engines\python\,在该文件夹位置下进入cmd。然后输入
python setup.py install
如果没有错误提示则继续,有错误,则查看自己的python和matlab版本,一定要对应。然后输入python,进入python环境后,
import matlab
没有错误提示则安装成功。
2.如何调用
说明:
》》1 matlab引擎的打开与关闭
import matlab # 导入matlab库
eng = matlab.engine.start_matlab() # 初始化引擎
####
#do something# 完成一些工作
####
eng.quit() # 退出引擎
》》2 操作说明(重要的5点)
#1.
eng.eval("A = ones(3,3);",nargout=0) # eval里面的引号里面的内容,相当于在matlab的命令界面窗口输#入的内容,会执行
#2.
B = matlab.uint8([1,2,3,4,5,6]) # matlab.uint8()函数创建了个mlarray,注意参数是列表
#3.
C = np.ones(3,3).tolist() # 将numpy数组转换为二维列表,故C可以作为上式的参数
#4.
D = np.array(B) # 这样可以将mlarray转换成numpy下的arraay
#5.
eng.workspace["E"]=B # 注意工作空间是一个字典,变量名加引号作为key,而word是mlarray对象