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
更多詳情請參考
總結
以上是生活随笔為你收集整理的matlab与python交互_Python和MATLAB交互的基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python将大于输出列表_python
- 下一篇: python无法安装tensorflow