matlab支持python吗_Python和MATLAB交互的基本操作

MATLAB和Python可以在一定程度上互相调用,起到互补的作用。本文就来抛砖引玉,总结一些最基本的操作步骤。

在MATLAB调用Python

MATLAB里可以很方便的调用Python的模块。笔者在进行车震研究的时候,一方面要在MATLAB里验证算法,同时其它的组员用Python来把程序封装好用到车上去震。如果能够重复使用一些核心的算法,那就可以在很大程度上提高开发效率。为此,我尝试把一些比较常用的代码用Python来写,然后在MATLAB里面调用。

为此,我通过如下步骤设置了自己的环境( 我使用的Python版本是2.7. MATLAB我用的是R2016b,操作系统是Windows7, 64位)。

首先,我在自己的机器上安装Python, 注意我需要安装的是64位的,不然我的64位的MATLAB认不出来。安装包可以在这里下载:https://www.python.org/downloads/windows/

然后,我在Windows的命令行里使用下面的命令安装了一些进行科学计算的包,

C:\Python27> pip install numpy

C:\Python27> pip install scipy

C:\Python27> pip install matlibplot

都弄完之后, 打开MATLAB, 输入pyversion, 结果如下

>> pyversion

version: '2.7'

executable: 'C:\Python27\python.EXE'

library: 'C:\windows\system32\python27.dll'

home: 'C:\Python27'

isloaded: 0

这说明MATLAB成功找到了Python解释器。

现在,我在Python里写了一个简单的类:

class myClass:

version = 1.0

def __init__(self,a,b):

self.a, self.b = a,b

def getsum(self):

return self.a+self.b

然后保存为文件 myPyClass.py

最后,打开MATLAB, 调用这个Python模块创建一个类,然后调用getsum方法,结果如下:

>> pyObj = py.myPyClass.myClass(1,2);

>> pyObj.getsum

ans =

3

就是这么简单。

在Python里调用MATLAB引擎

MATLAB提供了用于其它各种语言调用的API接口,也可以在Python里进行调用。

首先,需要安装MATLAB引擎。为此,我用ADMINISTRATOR模式打开Windows的命令行,找到如下的路径

C:\Program Files\MATLAB\R2016b\extern\engines\python>

然后输入

python setup.py install

安装完成后,我打开MATLAB写了一个简单的求最小二乘的函数。

functionx=myLS(A,B)x = A\B;

end

随后,打开 Python, 运行如下命令

import matlab.engine

eng = matlab.engine.start_matlab()

y = eng.myLS(matlab.double([[1.],[2.]]),matlab.double([[3.],[4.]]))

print y

计算的结果如下:

2.1999999999999997

更多详情请参考

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值