python调用matlab

环境:win10,matlab2016a,python2.7 以上都是64位的

python脚本test.py如下,

#encoding=utf8
import mlab
from mlab.releases import R2013a as mlab 
from matlab import matlabroot
mlab.path(mlab.path(),r'E:\MATLAD\demo') #如果m文件在运行路径,则不用导入也可


def sum_test():
    print 'dddddd'
    a = int(1)  #必须强转类型
    b = int(1)
    print matlabroot()  #打印matlab路径
    mlab.plot([1,2,3,'-0']) #调用matlab函数
    return mlab.test(a,b)  #调用test.m中函数test(a,b)
if __name__ == '__main__':
    s = sum_test()
    print 'sum_test:',s
    


在同一路径下创建matlab的.m文件 ,文件名为test.m

function sum_AB = test(a,b)  
    sum_AB = double(a + b);
end   

运行python报错:ImportError: No module named mlab.releases。

全网络竟然没有解决办法?原因是python没有安装matlab模块,不多BB,下面是解决方式:

打开控制台(什么?控制台不知道怎么打开?windos键+r,输入cmd),输入:pip install mlab 

没安装pip?下面是安装方法:

安装pip

下载安装包网站:点击打开链接


python调用matlab_第1张图片

下载完解压 ,到目录下执行

python setup.py install

报错:

ImportError: No module named setuptools

安装 setuptools

网站:点击打开链接

解压后到根目录下,打开控制台,执行python setup.py install

python调用matlab_第2张图片

安装matlab组件

控制台输入:pip install mlab


python里安装mlab

命令行执行pip install mlab

报错:ImportError: No module named Numeric

看代码报错位置

python调用matlab_第3张图片

可知原因是没安装numpy

安装 numpy

pip install numpy

运行test.py结果如下:




你可能感兴趣的:(matlab)