MEX アプリケーションの選択
MATLAB® コマンド ラインからユーザー独自の C、C++ または Fortran プログラムを組み込み関数のように呼び出すことができます。これらのプログラムは "MEX 関数" と呼ばれます。MEX 関数は、すべてのアプリケーションに適しているわけではありません。MATLAB は、C や C++ などのコンパイル型言語による時間のかかる低水準プログラミングの排除を専門とする、生産性の高い環境です。通常、プログラミングは MATLAB で行ってください。アプリケーションで必要な場合を除き、MEX ファイルは使用しないでください。
MEX 関数を作成するには、MATLAB API を使用してプログラムを作成してから、mex
コマンドを使用してビルドします。API は次の機能を提供します。
MEX 関数からの MATLAB 関数の呼び出し。
MATLAB から入力を取得しそこに結果を返す、MATLAB へのシームレスな統合。
MATLAB データ型のサポート。
C++ MEX 関数
MATLAB R2018a 以降では、C++11 プログラミング機能をサポートする以下の API を使用して C++ MEX 関数を作成します。これらの API では、matlab::data::Array
クラスに基づいて、タイプ セーフ性および配列範囲チェックが改善され、さらにコーディングを簡略化する最新の C++ 構成要素がサポートされています。
詳細については、MATLAB (MEX ファイル) から呼び出せる C++ 関数の記述を参照してください。
MATLAB R2017b 以前での C/C++ MEX 関数
MEX 関数を R2017b 以前の MATLAB で実行しなければならない場合、または C 言語での作業が優先される場合、mxArray
データ構造体に基づく以下のライブラリの関数を使用して、ソース ファイルを作成してください。
MATLAB (MEX ファイル) から呼び出せる C 関数の記述の C MEX API
詳細については、MATLAB (MEX ファイル) から呼び出せる C 関数の記述を参照してください。
注意
C 行列 API の関数を MATLAB データ API の関数と混用しないでください。
Fortran MEX 関数
Fortran MEX 関数を作成するには、mxArray
データ構造体に基づく以下の API を使用してください。
詳細については、MATLAB (MEX ファイル) から呼び出せる Fortran 関数の記述を参照してください。
MEX 用語
MEX は "MATLAB executable" の略で、次の表に示すようにさまざまな意味があります。
MEX 用語 | 定義 |
---|---|
ソース MEX ファイル | C、C++ または Fortran ソース コード ファイル。 |
バイナリ MEX ファイル、または MEX 関数 | MATLAB 環境で実行される動的にリンクされたサブルーチン。 |
MEX API | MATLAB 環境で操作を実行する C MEX API および Fortran MEX API の関数。 |
mex ビルド スクリプト | ソース ファイルからバイナリ ファイルを作成する MATLAB 関数。 |
参考
mxArray
| matlab::data::Array
| mex