C および Fortran 用 MATLAB エンジン API
MATLAB® の C および Fortran エンジン ライブラリには、自作プログラムから MATLAB を呼び出して MATLAB を計算エンジンとして使用するためのルーチンが含まれています。MATLAB エンジンを使用するには、システムに MATLAB がインストールされていなければなりません。MATLAB Runtime のみがインストールされているマシンでは MATLAB エンジンを実行できません。
エンジン プログラムはスタンドアロン プログラムです。これらのプログラムは、UNIX® システムではパイプを使用し、Microsoft® Windows® システムでは Microsoft Component Object Model (COM) インターフェイスを使用して、個別の MATLAB プロセスと通信します。MATLAB の関数ライブラリを使用すると、MATLAB プロセスの開始および終了、MATLAB とのデータの送受信および MATLAB で処理するコマンドの送信を行うことができます。
MATLAB エンジンによってできることには以下があります。
独自のプログラムから配列の逆操作や FFT の計算を行うなどの数学ルーチンを呼び出します。この方法で使用されるとき、MATLAB は強力でプログラミング可能な数学サブルーチン ライブラリとなります。
特定のタスクのためにシステム全体をビルドします。たとえば、フロント エンド (ユーザー インターフェイス) は C でプログラミングし、バック エンド (解析) は MATLAB でプログラミングするなどです。
MATLAB エンジンは、独自のプログラムとは別のプロセスとしてバックグラウンドで実行されます。次のような利点があります。
UNIX システムでは、MATLAB エンジンは使用しているマシンでも、アーキテクチャが異なるマシンを含めてネットワーク上の他の UNIX マシンでも実行できます。この構成より、ユーザーのワークステーションにユーザー インターフェイスを実装し、計算はネットワーク上の他の場所にあるより高速なマシンで行うことができます。詳細については、関数
engOpen
のリファレンス ページを参照してください。プログラムを MATLAB プログラム全体 (大量のコード) にリンクする代わりに、より小さなエンジン ライブラリにリンクします。
MATLAB エンジンは、HDF5 を基準とする形式の MAT ファイルを読み取ることができません。これらの MAT ファイルは、関数 save
の -v7.3
オプションを使用してデータを保存するか、C または Fortran 関数 matOpen
の w7.3
モード引数を使用して開かれます。
メモ
MATLAB エンジンを UNIX プラットフォーム上で実行するためには、C シェル csh
を /bin/csh
にインストールしておかなければなりません。
MATLAB ソフトウェアとの通信
UNIX システムでは、エンジン ライブラリは、パイプと、必要に応じてリモート実行のための rsh
を使用して、エンジンと通信を行います。Microsoft Windows システムでは、エンジン ライブラリは、Component Object Model (COM) インターフェイスを使用して、エンジンと通信を行います。