python调用matlab

最近实验室老师让干点小活,主要是写一个程序来调用一下matlab脚本以及一个Fortran程序,然后就去网上搜了一些资料,搞了一下,趁着自己还记得,就记录一下,两个法子。

1. 用MATLAB和Python的接口

首先介绍一下程序运行的环境,脱离环境谈运行就是耍流氓。

  [1] MATLAB R2018a
  [2] python3.5.6  (Anaconda)

1)首先python安装matlab

在matlab的安装路径下找到steup.py文件,其位置如下所示。
setup.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()  # 启动matlab engine
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里面使用。

来源:沙丁鱼w

物联沃分享整理
物联沃-IOTWORD物联网 » python调用matlab

发表评论