最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
Python 用の MATLAB エンジン API は Python が MATLAB を計算エンジンとして呼び出すためのパッケージを提供します。エンジンは参照実装 (CPython) をサポートします。MATLAB は Version 2.7、3.6、および 3.7 をサポートします。
エンジンのインストールおよび開始については、Python 用 MATLAB エンジン API 入門を参照してください。
Python 関数を MATLAB から呼び出す方法については、Python ライブラリを参照してください。
エンジン アプリケーションを使用するには MATLAB がインストールされている必要があります。マシンに MATLAB Runtime しかない場合は MATLAB エンジンを実行できません。
Python 用 MATLAB エンジン API のシステム要件
Python 用 MATLAB エンジン アプリケーションの作成とビルドに必要な事柄。
Python 用の MATLAB エンジン API のインストール
Python セッション内で MATLAB エンジンを開始するには、まず Python パッケージとしてエンジン API をインストールしなければなりません。
既定以外の場所への Python 用の MATLAB エンジン API のインストール
既定では、インストーラーは Python 用のエンジン API を
フォルダー内にビルドします。別のフォルダーにインストールする場合は、環境変数 matlabroot
\extern\engines\pythonPYTHONPATH
を更新します。
Python 用 MATLAB エンジン API は、Python から MATLAB 関数を呼び出すことができる matlab
という名前の Python パッケージを提供します。
Python 用 MATLAB エンジンの起動オプション
MATLAB 関数から出力引数を返す方法。関数からの複数の出力を読み取る方法。MATLAB 関数が出力引数を返さない場合の対処方法。
Python からすべての MATLAB 関数に対応するドキュメンテーションにアクセスできます。
Python での MATLAB エンジン ワークスペースの使用
この例では、Python で変数を MATLAB エンジン ワークスペースに追加する方法を説明します。
この例では、Python で MATLAB 配列を作成し、作成した配列を入力引数として MATLAB 関数 sqrt
に渡す方法を説明します。
matlab
Python パッケージは、Python 変数として MATLAB 数値型の配列を表す配列クラスを提供するので、MATLAB 配列を Python と MATLAB の間で渡すことができます。
入力引数として Python データを MATLAB 関数に渡すと、Python 用 MATLAB エンジンは、データを等価の MATLAB データ型に変換します。
MATLAB 関数が出力引数を返すと、Python 用 MATLAB エンジン API は、そのデータを等価の Python データ型に変換します。
MATLAB ハンドル オブジェクトの Python での使用
この例では、MATLAB ハンドル クラスからオブジェクトを作成し、そのメソッドを Python で呼び出す方法を説明します。
既定により、MATLAB ではすべての数値が倍精度浮動小数点数として格納されます一方で、Python は一部の数値を既定で整数として格納します。
この例では、Python から三角形の面積を計算する MATLAB スクリプトを呼び出す方法を説明します。
Python からの MATLAB データの並べ替えとプロット
この例では、Python で患者データを喫煙者と非喫煙者のリストに並べ替え、MATLAB を使用して患者の血圧測定値をプロットする方法を示します。
非同期での Python からの MATLAB 関数の呼び出し
この例では、非同期で Python から MATLAB 関数 sqrt
を呼び出し、後で平方根を取得する方法を説明します。
この例では、MATLAB 関数から標準出力と標準エラーを Python StringIO
オブジェクトにリダイレクトする方法を説明します。
MATLAB エンジン API は、以下の機能をサポートしません。
Python での MATLAB エラーのトラブルシューティング
MATLAB 関数でエラーが発生すると、Python 用 MATLAB エンジンはその関数を停止し、MATLAB が発行した例外を受け取ります。