直接呼叫本地的matlab引擎時很簡單的方案,但是不能打包到其他裝置執行,只能在本地自嗨。所以換了這個方案——將matlab指令碼打包成python庫。
step1:matlab端操作
step2. python端操作
安裝剛剛生成的庫(以anaconda虛擬環境為例)
step3. 在python程式中呼叫
import ek80example
ek80 = ek80example.initialize(
)ek80.ek80example(
)# 在matlab指令碼中,唯一入口函式為:ek80example
按照以上步驟打包後,如果不能執行。就在cmd視窗中執行一次,檢視是因為哪個庫沒打包成功,把site-packages目錄下該庫複製到exe目錄下就可以了。
另外,這種方式打包的exe檔案如果在其他的機器上執行,還需要安裝乙個mcr(matlab runtime)
另外,此方法對python版本有要求。matlab2016b版本可使用python3.5,但不能使用python3.8,其他版本未做測試。
Python呼叫MATLAB指令碼
可以通過python的介面呼叫多種語言,這非常適合於同時使用多種工具 多個平台的深度學習任務。python呼叫matlab的指令碼或函式,可以參考matlab官方說明文件get started with matlab engine api for python。簡言之,首先在matlab中安裝pyt...
matlab呼叫python程式
執行命令 pyversion filepath 若已關聯,則不需要執行此命令,其中 filepath 為 python 程式所用的直譯器的絕對路徑,如 d anaconda3 python.exe。詳見pyversion官方文件 例如呼叫某python函式 data2mat.getdata cd p...
Python呼叫MATLAB函式
遇到求解西爾維斯特方程時不會,然後查資料也看不懂,結果發現matlab有直接的函式可以呼叫,無奈就只能用python呼叫matlab函式。首先要安裝matlab這個包,可以使用matlab裡帶的setup.py這個指令碼。cd matlabroot extern engines python pyt...