python 调用Matlab

python 调用Matlab

安装

查询matlab支持的python版本:到网址 https://www.mathworks.com/help/releases/R2017b/matlab/matlab_external/system-requirements-for-matlab-engine-for-python.html 将R2017b 换成自己的版本

python 调用Matlab_第1张图片

MATLAB中用命令 matlabroot查询 matlab 根目录。

%如果使用的是python虚拟环境,在Python虚拟环境中执行
cd "C:\Program Files\MATLAB\R2019a\extern\engines\python" %切换到根目录下的文件夹中
python setup.py install                                   %需要管理员权限

使用方法

将Python参数传递给 Matlab 需要将参数 变为double 计算回来的也是double

import matlab.engine    #导入包
eng = matlab.engine.start_matlab()   #启动MATLAB,这个需要一些时间
a = matlab.double([1,4,9,16,25])  #MATLAB只能调用double型的数据
traindata.tolist()			#如果数据是numpy,则需要讲数据转化为list才能转化为double
# 调用matlab自带函数
b = eng.sqrt(a)
print(b)
# 调用用户自己的函数
c=eng.myfunc(a,b)    #自己的函数需要编写在当前目录下,或者是在matlab目录中
# stop
eng.quit()

V,theta1,W = eng.test(nargout=3)  #调用返回值是多个,需要指定参数nargout个数。

你可能感兴趣的:(ADP,神经网络,优化算法,算法,机器学习,神经网络)