python调用matlab
最近实验室老师让干点小活,主要是写一个程序来调用一下matlab脚本以及一个Fortran程序,然后就去网上搜了一些资料,搞了一下,趁着自己还记得,就记录一下,两个法子。
1. 用MATLAB和Python的接口
首先介绍一下程序运行的环境,脱离环境谈运行就是耍流氓。
[1] MATLAB R2018a
[2] python3.5.6 (Anaconda)
1)首先python安装matlab
在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脚本了。
2)简单的示例
python脚本如下
import matlab
import matlab.engine
engine = matlab.engine.start_matlab()
engine.hellomatlab(nargout = 0)
matlab脚本。
function hellomatlab()
clear
sum = 0;
for i = 1:100
sum = sum +i;
disp(['sum=',num2str(sum)]);
end
执行结果如下:
3)总结
略慢…
4)拓展
此外还有一种利用mlab的方法,但是由于我用的python3,mlab应该是只支持到python2,我就没有进行尝试。 主要思路也记录一下
[1] 首先是下载malb [2] 找到其setup.py,并在python里安装,安装语句依旧是
python setup.py install
[3]在python里面使用。
|