Main Content

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 に渡すを参照してください。

  1. 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]]
  2. 多次元配列を作成します。関数 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]]
    

関連するトピック