python3.7 調用 Matlab

綜述

python3.7 調用Matlab。MATLAB是MATrix LABoratory(矩陣實驗室)的縮寫,是一款由美國The MathWorks公司出品的商業數學軟件。MATLAB是一種用於算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境。除了矩陣運算、繪製函數/數據圖像等常用功能外,MATLAB還可以用來創建用戶界面及與調用其它語言(包括C、C++、Java、Python和FORTRAN)編寫的程序。

很多時候我們可能需要使用python調用matlab。
但是對於python3.7而言,直接調用matlab會報錯。下面給出解決方案:

步驟

首先找到 MATLAB 文件夾的路徑。啓動 MATLAB,並在命令行窗口中鍵入 matlabroot。複製 matlabroot 所返回的路徑。

  • 在 Windows 操作系統提示符下:
    cd "matlabroot"\extern\engines\python
    python setup.py install
  • 在 macOS 或 Linux 操作系統提示符下:
    cd "matlabroot"/extern/engines/python
    python setup.py install
    注意這裏python應該是對應的python3.7版本。
    如果運行python setup.py install報錯,請使用python3.5運行。(親測最後同樣可以使用)

以下都是基於python3.7
在terminal中運行:

pip install matlab_kernel 

上一步我們已經生成了作爲pkg的matlab文件夾。
將該文件夾放入:
/usr/local/lib/python3.7/site-packages/matlab/engine/__init__.py
並進行如下修改:

if _version in _supported_versions: 
    _PYTHONVERSION = _version 
else: 
    _PYTHONVERSION = '3_6' 
    #raise EnvironmentError("Python %s is not supported." % _version)

然後就可以調用了。
可以參考文章https://blog.csdn.net/sunny_xsc1994/article/details/79254196
建立例子進行測試。

Ref

  • https://www.mathworks.com/matlabcentral/answers/475298-matlab-engine-api-for-python-3-7
  • https://ww2.mathworks.cn/help/matlab/matlab_external/install-the-matlab-engine-for-python.html?ue
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章