matlab 調用 python


眾所周知,Python憑借其眾多的第三方模塊,近年來被數據分析、機器學習、深度學習等愛好者所喜愛,最主要的是Python還是開源的。另一方面,MATLAB因其在仿真方面的獨特優勢也被眾多人追捧。而在國內,雖然MATLAB具有昂貴的價格(學術版的估計也要好幾千吧,具體不清楚),但恐怕也是眾多搞學術的人的首選平台(原因嘛?呵呵,你懂得)。
既然MATLAB和Python各有各的優勢,那能不能將二者的優勢結合呢?也就是說能不能將二者的命令相互調用呢??當然能!!!在最新的MATLAB里,我們可以使用大部分(根據MATLAB官方文檔)的Python命令(估計是mathworks看到了Python的某些優勢,害怕若干年后使用MATLAB的用戶越來越少,因為現在MATLAB的好多(注意,並不是全部)功能Python基本都可取代)。
溫馨提示:如果是MATLAB和Python的初學者的話,除了某些特殊的功能非要用MATLAB不可,否則建議學習Python。
下面就來說說如何在MATLAB里調用Python吧。
二、環境配置(Windows系統)
我用的MATLAB是最新的(好像只有MATLAB R2015a以后的版本才行)。
1、首先安裝好MATLAB;
2、安裝Python32/64(要與你的MATLAB一致,否則不兼容),這里建議安裝Anaconda32/64,因為可以省去好多安裝Python第三方模塊的時間。
3、將安裝好的Python可執行文件路徑加到你MATLAB的工具箱搜索路徑中(我的是安裝在E盤下的,MATLAB會自動加入其下的子目錄),並“保存(save)”即可,如下圖所示:

 

第3步不要好像也行
三、測試
以下截圖是測試在MATLAB中調用Python的cv2(見這里Python-OpenCV)模塊進行圖像的讀取並顯示的(這里僅作演示配置是否成功,實際中用MATLAB的圖像處理工具箱更方便)。

 


其中,py.cv2類似於Python的import cv2,其它的跟Python沒啥區別。
相應的Python代碼為:

>>> import cv2
>>> image = cv2.imread('G:\img\lena.jpg')
>>> cv2.imshow('Lena',image)
>>> cv2.waitKey(0)


運行結果:

 
這里寫圖片描述
說明:
1、這里要說明的是當我們在MATLAB中運行一次py.*之類的語句后,當我們再次輸入py.並同時點擊Tab鍵,會自動出現當前可調用的Python模塊(函數),如下圖:


或者當我們輸入py.num,同時再點擊Tab鍵,會自動補全為py.numpy

2、Python中的from x import y在MATLAB中調用類似於import x.y(但是不要這樣導入import py.*,這樣的話,Python將覆蓋MATLAB中的同名函數),當不再需要import x.y導入的函數時,要執行語句clear import進行清空。
下面是MATLAB官方文檔中的例子:
方法一與方法二可以進行對比

 


這里寫圖片描述
3、這個是在MATLAB中調用Python的官方幫助文件Call Python Libraries,里面有詳細的幫助信息。
4、以上內容全部來自Call Python Libraries,我只是用自己的話大致總結了一下自己所看的而已。
5、這是個MATLAB與Python對應函數的網頁,以幫助那些熟悉其一又要學另一語言的朋友


歡迎大家踴躍發言
---------------------
作者:jnulzl
來源:CSDN
原文:https://blog.csdn.net/jnulzl/article/details/51170859
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM