ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

外部プログラミング言語およびシステムと MATLAB の統合

MATLAB® は、他のプログラミング言語との柔軟性に優れた双方向の統合を提供するため、レガシ コードを再利用できます。プログラミング言語とサポート対象バージョンのリストについては、MATLAB Supported Interfaces to Other Languages を参照してください。

MATLAB からの C/C++ コードの呼び出し

MATLAB は、ユーザーが C/C++ アルゴリズムを MATLAB アプリケーションに統合できるようにこれらの機能を提供します。

  • C 共有ライブラリのインターフェイスは、実行時にアプリケーションによって動的に読み込まれる関数のコレクションです。共有ライブラリの使用には、複数のライブラリ関数を 1 つのインターフェイスにパッケージ化できるというメリットがあります。さらに、MATLAB はデータ型の変換を管理します。

    C 共有ライブラリの関数を呼び出すには、関数 calllib を使用します。詳細については、C ライブラリ関数の呼び出しを参照してください。この機能は、C 専用のライブラリと共に使用するのが最も効果的ですが、次のような制限があります。

    データ変換とメモリ管理をより細かく制御する場合は、MEX ファイルを記述することを検討してください。

  • MEX ファイルは、MATLAB データ型から C 型への変換を処理する C/C++ アルゴリズムを中心としたラッパー コードです。MEX ファイルを使用すると、MATLAB 共有ライブラリのインターフェイスを使用して関数を呼び出す場合に比べて、パフォーマンスが向上します。また、MEX ファイルでは、データ変換およびメモリ管理をより詳細にプログラムで制御できます。

    • C++ MEX アプリケーションは、C++11 プログラミング機能と、可能であればデータの共有コピーを使用します。

    • C MEX ファイル アプリケーションは、C 行列ライブラリを使用し、既存の MEX 関数でサポートされています。可能な限り、C MEX ファイル アプリケーションより C++ MEX ファイル アプリケーションを選択することを推奨します。

こうした機能を使用するには、ライブラリ インターフェイスを作成したり、MEX 関数を記述するための C/C++ のプログラミング スキルが必要です。ただし、結果のライブラリまたは MEX 関数を任意の MATLAB ユーザーに提供することができます。エンド ユーザーは、基礎となる C/C++ 言語実装の詳細を把握することなく、MATLAB 関数のような機能を呼び出します。

C/C++ 言語のプログラムから MATLAB を呼び出すには、C++ 用のエンジン API または C 用のエンジン API を参照してください。

MATLAB における他のプログラミング言語のオブジェクトの使用

他のプログラミング言語の関数やオブジェクトがある場合、それらを MATLAB から呼び出すことができます。MATLAB アプリケーションにそれらのオブジェクトを統合するユーザーが、ソフトウェア開発者である必要はありません。ただし、ライブラリに関するサードパーティのドキュメントにアクセスできなければなりません。

MATLAB は、次の言語での関数の呼び出しとオブジェクトの使用をサポートします。

別のプログラミング言語からの MATLAB の呼び出し

エンジン アプリケーションを使用して、別の言語から MATLAB を呼び出すことができます。MATLAB エンジン API を使用して、独自のアプリケーションから MATLAB 関数を呼び出します。MATLAB には次の言語の API があります。

エンジン アプリケーションを作成するには、MATLAB でサポートされるコンパイラをインストールし、mex コマンドを使用してアプリケーションをビルドします。

MATLAB 関数としての関数の呼び出し

独自の関数を記述し、MEX API を使用してそれらを MATLAB 関数として呼び出すことができます。MEX 関数を次の言語で記述することができます。

MEX ファイルを作成するには、MATLAB でサポートされるコンパイラをインストールし、mex コマンドを使用して関数をビルドします。

Web サービスとの通信

MATLAB から Web サービスと通信することができます。

  • MATLAB の RESTful Web サービスの関数によって、プログラマでなくても HTTP GET メソッドと HTTP POST メソッドを使用して、多くの Web サービスにアクセスできます。

  • RESTful Web サービスの関数によってサポートされていない機能については、カスタマイズされた Web アクセス アプリケーションの作成に HTTP インターフェイス クラスを使用します。

  • ご利用の Web サービスが、Web サービス記述言語 (WSDL) ドキュメント テクノロジーに基づいている場合、MATLAB WSDL 関数を使用します。

関連するトピック

外部の Web サイト