外部インタフェース/API    

8ビット、16ビット、32ビットデータの操作

MEX-ファイル内で符号付きと符号なしの8ビット、16ビット、32ビットデータを作成し、操作できます。MATLAB APIは、これらのデータタイプをサポートする関数を提供しています。API関数mxCreateNumericArrayは、指定したデータサイズをもつN次の数値配列を作成します。MATLAB APIがこれらのデータタイプをどのように表わすかについての説明は、オンラインリファレンスページのmxClassIDを参照してください。

指定したデータタイプのMATLAB配列を作成すると、mxGetDatamxGetImagDataを使ってデータにアクセスできます。これらの2つの関数は、実部と虚部のデータのポインタを出力します。MEX-ファイル内の8ビット、16ビット、32ビット精度のデータの数値演算が可能で、MATLABに結果を出力し、MATLABは正しいデータのクラスを認識します。MATLABの内部からでは8ビット、16ビット、32ビット精度の数値演算や、これらのデータ操作を行うMATLAB関数を呼び出せきませんが、MATLABプロンプトにデータを表示してMAT-ファイルに保存することはできます。

つぎの例は、符号なしの16ビット整数からなる2行2列の行列を作り、各要素を2倍し、両方の行列をMATLABに出力します。

MATLABプロンプトで

と入力すると、以下を出力します。

この関数の出力は、符号なし16ビット整数からなる2行2列の行列です。この行列の内容をMATLABで見ることができますが、データを操作できる方法はありません。


 複素データの操作 多次元数値配列の操作