Main Content

matlab.engine.MatlabEngine

パッケージ: matlab.engine

Python セッション内の計算エンジンとして MATLAB を使用する Python オブジェクト

説明

MatlabEngine クラスは Python® の計算エンジンとして MATLAB® プロセスを使用します。MATLAB 関数は呼び出しによって動的に起動するため、MatlabEngine オブジェクトのメソッドとして呼び出すことができます。また、定義した関数およびスクリプトを呼び出すこともできます。MatlabEngine オブジェクトに関連付けられている MATLAB ワークスペースにデータを送信したり、そこからデータを取得したりできます。

作成

matlab.engine.start_matlab メソッドは、呼び出されるたびに MatlabEngine オブジェクトを作成します。matlab.engine.MatlabEngine() を呼び出して独自に MatlabEngine オブジェクトを作成する必要はありません。

属性

属性説明

workspace

MATLAB 変数への参照を含む Python ディクショナリ。workspace を介して MATLAB 変数にデータを代入し、そこからデータを取得できます。作成した各 MATLAB 変数の名前は、workspace ディクショナリのキーとなります。workspace のキーは有効な MATLAB 識別子でなければなりません (たとえば、数字はキーとして使用できない)。

メソッド

すべて展開する

例外

例外説明
MatlabExecutionError

関数呼び出しの実行に失敗

RejectedExecutionError

MATLAB エンジンが終了

SyntaxError

関数呼び出しの構文エラー

TypeError

入力/出力引数のデータ型がサポートされていない

すべて折りたたむ

エンジンを使用して MATLAB 関数 sqrt を Python から呼び出します。

import matlab.engine
eng = matlab.engine.start_matlab()
ret = eng.sqrt(4.0)
print(ret)
2.0

Python で配列を作成して MATLAB ワークスペースに読み込みます。

import matlab.engine
eng = matlab.engine.start_matlab()
px = eng.linspace(0.0,6.28,1000)

px は MATLAB 配列ですが、eng.linspace はこれを Python に返しました。MATLAB で使用するため、配列を MATLAB ワークスペースに入れます。

eng.workspace['mx'] = px

エントリをエンジン workspace ディクショナリに追加するときに、MATLAB 変数も作成します。エンジンは、データを MATLAB データ型に変換します。

pi を MATLAB ワークスペースから取得して Python 変数にコピーします。

import matlab.engine
eng = matlab.engine.start_matlab()
eng.eval('a = pi;',nargout=0)
mpi = eng.workspace['a']
print(mpi)
3.14159265359

バージョン履歴

R2014b で導入