| 外部インタフェース/API | ![]() |
データタイプの使用法
MATLABの6個の基本データタイプは、double, char, sparse, uint8, cell, structです。MATLABがサポートする任意のデータタイプを受け取るMEX-ファイル、MAT-ファイルアプリケーション、エンジンアプリケーションをCで書くことができます。Fortranでは、倍精度のn行m列配列と文字列の作成のみがサポートされます。一度コンパイルするとCおよびFortran MEX-ファイルは、M-ファンクションと同じように取り扱うことができます。
例題explore
MATLABに付属している、入力変数のデータタイプを識別するexploreという例題のMEX-ファイルがあります。この例題のソースファイルは、<matlab>/extern/examples/mexディレクトリにあります。ここで、<matlab>はMATLABがシステム上でインストールされている最上位のディレクトリを表わします。たとえば、以下のようにタイプすると、
cd([matlabroot '/extern/examples/mex']); x = 2; explore(x);
------------------------------------------------
Name: x
Dimensions: 1x1
Class Name: double
------------------------------------------------
(1,1) = 2
exploreは任意のデータタイプを受け取ります。つぎの例を使って、exploreを試してみてください。
explore([1 2 3 4 5])
explore 1 2 3 4 5
explore({1 2 3 4 5})
explore(int8([1 2 3 4 5]))
explore {1 2 3 4 5}
explore(sparse(eye(5)))
explore(struct('name', 'Joe Jones', 'ext', 7332))
explore(1, 2, 3, 4, 5)
| MATLABのデータタイプ | MEX-ファイルの作成 | ![]() |