設定
Python 向け MATLAB エンジン API をインストールする
Python® 用の MATLAB エンジン API を使用するには、両方がシステムにインストールされている必要があります。エンジン API は Python パッケージとしてインストールします。
pip を使用してインストールする
システムのコマンドプロンプトから、以下を実行:
$ python -m pip install matlabengine
setup.py を使用してインストールする
システムのコマンドプロンプトから setup.py ファイルを実行:
$ cd [matlabroot]/extern/engines/ python
$ python setup.py install
トラブルシューティングの際は、権限 (管理者として実行していること) を確認し、PYTHONPATH とシステムパスをチェックしてください。
MATLAB エンジン API
MATLAB エンジン API を使用して、Python から MATLAB を呼び出す
モジュールをインポートしてエンジンを起動:
>>> import matlab.engine >>> eng = matlab.engine.start_matlab()
エンジンを通じて関数を呼び出す:
>>> x = eng.sqrt(42.0)
複数の出力を取得:
>>> x = eng.gcd(42.0,8.0,nargout=3) >>> x = eng.plot(x,y,nargout=0)
エンジンを停止:
>>> x = eng.exit()
データ型の変換
対応するデータ型は自動変換されます。
| Python | MATLAB |
float |
double |
complex |
complex double |
int |
int64 |
float(nan) |
NaN |
float(inf) |
Inf |
bool |
logical |
str |
char |
dict |
struct |
list |
cell array |
set |
cell array |
tuple |
cell array |
Python で MATLAB 配列を作成して、データを簡単に MATLAB 関数に渡すことができます。
>>> x = matlab. double([1,4,9])
MATLAB アプリの使用
MATLAB エンジンのワークスペースを使用する
MATLAB エンジンのワークスペースを使用すると、MATLAB や Python から変数にアクセスでき、アプリを利用しやすくなります。
ワークスペースに変数を追加:
>>> x = 4.0 >>> eng.workspace['y'] = x
MATLAB ワークスペースから変数にアクセス:
>>> x = eng.workspace['y']
eval 関数を使用してステートメントを実行:
>>> a = eng.eval('sqrt(y)')
Python から MATLAB の各アプリを開くには、対応するコマンドを使用:
>>> eng.signalAnalyzer() >>> eng.classificationLearner()
Python パッケージの作成
MATLAB 関数をパッケージ化する ライブラリ コンパイラ アプリを使用して、MATLAB 関数の Python パッケージを作成します。
Python パッケージから MATLAB 関数を呼び出す
>>> import PackageName >>> pkg = PackageName.initialize() >>> result = pkg.Foo()
パッケージを終了する
>>> pkg.terminate()