Python での MATLAB 配列の使用
Python® で MATLAB® 配列を使用するには、Python 用の MATLAB エンジン API のインストールの説明に従って、パッケージ化されたアプリケーションを実行する前に Python エンジンをインストールするか、以下のプログラムで import matlab
より前に import mypackage
を使用します。
Python 用の MATLAB エンジン API には、matlab
という名前の Python パッケージが用意されています。これにより、Python から MATLAB 関数を呼び出すことができます。matlab
パッケージには、Python で MATLAB 配列を作成するためのコンストラクターが用意されています。Python シーケンス型から任意の MATLAB 数値型または logical 型の配列を作成できます。MATLAB 多次元配列がサポートされています。サポートされているその他の配列型のリストについては、データを Python から MATLAB に渡すを参照してください。
例
Python で MATLAB 配列を作成し、それに対して MATLAB 関数を呼び出します。
mypackage
という名前のパッケージがあり、パッケージ内にmysqrt
というメソッドがあるものとします。この場合、matlab.double
を使用して、数値が含まれた Python リストを指定して double の配列を作成できます。以下のプログラムに示されているように、x
に対して MATLAB 関数mysqrt
を呼び出すことができます。戻り値は別のmatlab.double
配列になります。import matlab import mypackage pkg = mypackage.initialize() x = matlab.double([1,4,9,16,25]) print(pkg.mysqrt(x))
出力は以下のようになります。
[[1.0,2.0,3.0,4.0,5.0]]
多次元配列を作成します。関数
magic
は 2 次元配列を Python スコープに返します。mypackage
内にmysqrt
というメソッドがあるとすると、以下のコードを使用してそのメソッドを呼び出すことができます。import matlab import mypackage pkg = mypackage.initialize() x = matlab.double([1,4,9,16,25]) print(pkg.mymagic(6))
出力は以下のようになります。
[[35.0,1.0,6.0,26.0,19.0,24.0],[3.0,32.0,7.0,21.0,23.0,25.0], [31.0,9.0,2.0,22.0,27.0,20.0],[8.0,28.0,33.0,17.0,10.0,15.0], [30.0,5.0,34.0,12.0,14.0,16.0],[4.0,36.0,29.0,13.0,18.0,11.0]]