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 多次元配列がサポートされています。サポートされているその他の配列型のリストについては、MATLAB と Python 間でのデータの受け渡しを参照してください。
例
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]]