最近实验室老师让干点小活,主要是写一个程序来调用一下matlab脚本以及一个Fortran程序,然后就去网上搜了一些资料,搞了一下,趁着自己还记得,就记录一下,两个法子。
首先介绍一下程序运行的环境,脱离环境谈运行就是耍流氓。
[1] MATLAB R2018a [2] python3.5.6 (Anaconda)
在matlab的安装路径下找到steup.py文件,其位置如下所示。
然后在python里安装matlab,执行如下语句。
python setup.py install
执行结果如下
E:\matlab\extern\engines\python>python setup.py install running install running build running build_py running install_lib copying build\lib\matlab\engine\_arch.txt -> E:\Anaconda3\envs\python35\Lib\site-packages\matlab\engine running install_egg_info Removing E:\Anaconda3\envs\python35\Lib\site-packages\matlabengineforpython-R2018a-py3.5.egg-info Writing E:\Anaconda3\envs\python35\Lib\site-packages\matlabengineforpython-R2018a-py3.5.egg-info
如此便可以在python里调用matlab脚本了。
python脚本如下
import matlab import matlab.engine engine = matlab.engine.start_matlab() # 启动matlab engine engine.hellomatlab(nargout = 0)
matlab脚本。
function hellomatlab() clear sum = 0; for i = 1:100 sum = sum +i; disp(['sum=',num2str(sum)]); end
执行结果如下:
略慢…
此外还有一种利用mlab的方法,但是由于我用的python3,mlab应该是只支持到python2,我就没有进行尝试。
主要思路也记录一下
[1] 首先是下载malb
[2] 找到其setup.py,并在python里安装,安装语句依旧是
python setup.py install
[3]在python里面使用。