在python中调用matlab

本文介绍如何在python中调用matlab的函数。

安装matlab

首先需要安装matlab,如果已经安装可以跳过这一节。
本文使用的matlab版本是R2016b,安装在远程的服务器上。
由于是远程安装,所以需要在安装matlab的时候使用静默模式。

  • 首先修改安装目录下的installer_input.txt文件,选择需要安装的组件,修改文件中的相应状态。
    cd到matlab安装文件所在目录,执行
    ./install -inputFile /xxx/xxx/xxx/installer_input.txt
    这里建议写全文件所在的绝对路径。

  • 激活matlab。matlab安装后需要激活,cd到matlab安装路径下,这个路径在installer_input.txt文件中进行过设置。
    执行

    1
    2
    cd bin
    ./activate_matlab.sh -propertiesFile /xxx/xxx/xxx/activate.ini

安装成功后可以执行bin/matlab来启动matlab
为了便于使用,可以将matlab的启动路径作为别名添加到bashrc文件中。

python安装matlab engine

1
2
cd $matlab_root/extern/python
python set.py install

注意不同版本的matlab支持的python版本也不尽相同。
这样就安装成功了,可以运行一段代码测试一下:

1
2
3
4
import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)

更多用法可以参考这个页面