從 Python 調(diào)用 MATLAB

最近在折騰MATLAB和python聯(lián)合編程,初衷是希望用python訓(xùn)練深度學(xué)習(xí)算法,用MATLAB里面的一些模型。雖然MATLAB里面已經(jīng)有了一些機(jī)器學(xué)習(xí)和深度學(xué)習(xí)相關(guān)的工具箱了,但是目前訓(xùn)練深度學(xué)習(xí)算法用tensorflow和pytorch這樣的開源軟件才是主流。參考:Python和matlab混編時,遇到問題:ImportError: No module named matlab.engine"的解決方法

先把這個過程記錄下來,與大家一起交流學(xué)習(xí)。

第一步:安裝用于 Python 的 MATLAB 引擎 API
這部分在mathworks官方文檔都有,我使用的是2020a版本,支持py版本 2.7、3.6 和 3.7。安裝可以參考網(wǎng)上其他一些文章,大概就是在matlab軟件安裝路徑下,找到文件目錄“./extern/engines/python”,win+r打開cmd,在當(dāng)前路徑下依次執(zhí)行如下命令行:

python setup.py build --build-base="builddir" install

python setup.py install --prefix="installdir"

python setup.py build --build-base="builddir" install --prefix="installdir"

python setup.py install --user

這樣就不會出現(xiàn)常見的 ImportError: No module named matlab.engine 問題了,最后使用下面的代碼驗證是否安裝成功。

import matlab.engine
from numpy import *
if __name__ == '__main__':
    eng = matlab.engine.start_matlab('MATLAB_R2016b')
    A = matlab.double([[1,2],[5,6]])
    print(type(A),A.size,A)
    print(eng.eig(A))
    eng.quit()
    pass

第二步:調(diào)用

import matlab.engine
eng = matlab.engine.start_matlab()  #運(yùn)行
eng.quit()  #停止
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容