先人たちのブログを見てもなかなかうまくいかなかったのでメモ。
Mathworksはpython用のmatlab APIを提供している。
これを使えば、pythonからmatlabの機能を呼び出せるようになる。
- 環境
- Windows10
- MATLAB R2018b
- Anaconda3
手順
まずいきなり使用可能なpythonバージョンに制約がある。
MATLAB R2018だとpython2.7, 3.5, 3.6しか使えないので、
condaでいずれかのバージョンでpython環境を整えておく。
このバージョンの指定はMATLABのバージョンに依存しているので注意。
MATLABのコマンドウィンドウでmatlabroot
と打って、
MATLABのインストールフォルダを見つける。
私の場合は'C:\Program Files\MATLAB\R2018b'
だった。
インストールしているMATLABのバージョンによって異なるはず。
次に、コマンドプロンプト(Anaconda prompt)を管理者権限で起動する。
管理者権限でないとインストールの時にうまくいかないので注意。
MATLABインストールディレクトリの中の以下のフォルダに移動し、
そこにあるpython.exe
を削除し、
Anacondaのインストールフォルダを指定した上でsetup.py
を実行する。
cd "matlabroot\extern\engines\python" rm python.exe python setup.py install --prefix="<anacondaのインストールフォルダ>"
これでインストール完了。
使うときに<anacondaのインストールフォルダ>を環境変数に入れればOK.
import sys sys.path.append("<anacondaのインストールフォルダ>\\lib\\site-packages") import matlab.engine eng = matlab.engine.start_matlab() tf = eng.isprime(37) print(tf)