標籤:

python如何調用matlab的腳本?

如題,手裡寫了一段matlab的腳本,在matlab上可以正常運行,若是把這段腳本翻譯到python里會比較費力,能否通過什麼方法讓python能夠直接運行這段腳本並輸出想要的結果呢?(這段腳本包括一系列的科學計算,以及圖形輸出,那麼應該能夠被numpy和matplotlib調用)


最新的幾個版本官方提供了python調用MATLAB的方法:

MATLAB Engine for Python

不過我自己並沒有用過~


pip install mlab 直到顯示successfully installed mlab-x.x.x (pip的安裝省略啦)

進入python下

輸入from mlab.releases import R2013a as mlab (我matlab版本是2013a,如果你的不一樣,自己改就好了)

mlab.plot([1,2,3,-0]) 就可以看見圖出來了。

如果在from mlab.releases import 後遇見錯誤---&> no module named win32com.client ,

只要再安裝pip instal pypiwin32就可以了.

所有的代碼如下:

pip install mlab

pip install pypiwin32

&>&>&>import mlab

&>&>&>from mlab.releases import R2013a as mlab

&>&>&>mlab.plot([1,2,3,-0])


主要有兩種方式:

a. python安裝mlab庫 (截至目前最新版是1.1.4)

支持的matlab版本為R2006~R2014 a/b發行版都支持。支持系統函數調用及自定義函數調用(該方式可使用部分matlab工具箱)。

b. 使用matlab的python引擎

這種方式個人是從matlab R2015開始使用的,matlab官網有詳細說明,但個人覺得這種方式功能比較受限。


Python 調用Matlab的函數或者調用M文件方法

題主可以參考這位博主所寫方法,安裝mlab作為中介,實測可行,這個mlab需要前置numpy有的可能不會自動裝,可以手動PIP一下。


windows系統:
cd "matlabrootexternenginespython"

python setup.py install

需要管理員許可權

在linux 或者macOS:
cd "matlabroot/extern/engines/python" python setup.py install


報錯: ImportError: No module named releases


謝瑤~`

我沒用過matlab,所以不知道怎麼在python下調用matlab~

但一般跨語言的調用,都是找到對應的介面(python中的module),import後按說明書調用。這個百度或谷歌下就有了。


推薦閱讀:

如何畫三維波函數圖像?
加速你的MATLAB開發(2): 使用Version Control
MATLAB App Designer教程連載3: 如何使用Gauge,Knob,Lamp,和Toggle Switch
matlab遺傳演算法解決多約束的mtsp問題?
理工科女生筆記本選購諮詢?

TAG:Python | MATLAB |