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:Python27python.EXE'
library: 'C:windowssystem32python27.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
就是这么简单。
MATLAB提供了用于其它各种语言调用的API接口,也可以在Python里进行调用。
首先,需要安装MATLAB引擎。为此,我用ADMINISTRATOR模式打开Windows的命令行,找到如下的路径
C:Program FilesMATLABR2016bexternenginespython>
然后输入
python setup.py install
安装完成后,我打开MATLAB写了一个简单的求最小二乘的函数。
function x=myLS(A,B)
x = AB;
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
更多详情请参考
Call Python from MATLAB
相关知识
Python和MATLAB交互的基本操作
matlab鸟叫声语音识别
3. 用Python进行图像处理 — Python 3 教程 文档
python——is和==区别
在Sublime Text 3上实现python交互功能(SublimeREPL插件安装)
鸟叫声识别matlab
Python 中 “is“与”==” 操作有什么区别?
(开题)flask框架宠物医院网站的设计与实现(程序+论文+python)
vue 中 el
[开题报告]flask框架的宠物交流平台系统50k32(程序+论文+python)
网址: Python和MATLAB交互的基本操作 https://m.mcbbbk.com/newsview489309.html
上一篇: 有鱼有年味,年货鲜到家 | 盒马 |
下一篇: 画画+做手工=美术?答案让你大吃 |