Main Content

mxSetUint8s (C)

mxUINT8_CLASS 配列内に実数データ要素を設定

C 構文

#include "matrix.h"
int mxSetUint8s(mxArray *pa, mxUint8 *dt);

説明

mxSetUint8s を使用して、指定された配列内に mxUint8 データを設定します。

mxCreate* のすべての関数が、データ保持のためにヒープ領域を割り当てます。そのため、通常は、この関数を使用して配列の要素を初期化することはありません。その代わりに、この関数を呼び出して既存の値を新しい値に置換します。

入力引数

すべて展開する

mxUINT8_CLASS 配列へのポインター。

データ配列の最初の mxUint8 要素へのポインター。dt は関数 mxCalloc または mxMalloc によって割り当てなければなりません。

出力引数

すべて展開する

関数のステータス。int として返されます。成功した場合、関数は 1 を返します。

paNULL の場合、関数は 0 を返します。

mxArray が非共有の mxUINT8_CLASS 配列ではない場合や、データが mxCalloc によって割り当てられない場合は、関数は失敗します。関数が失敗した場合は、次のようになります。

  • MEX ファイル — 関数は MEX ファイルを終了し、制御を MATLAB® プロンプトに戻します。

  • スタンドアロン (非 MEX ファイル) アプリケーション — 関数は 0 を返します。

既存のデータを mxArray にコピーするには、matlabroot/extern/examples/refbook フォルダー内の arrayFillSetPr.c の例を参照します。例の中のデータは mxDouble として定義されています。uint8 データ用にこの例を変更するには、次を行います。

  • データ変数を mxUint8 として宣言する

  • 数値型 mxUINT8_CLASS を指定して mxCreateNumericMatrix を呼び出す

  • mxSetDoublesmxSetUint8s に置き換えて、C 配列を mxArray に配置する

API バージョン

この関数はインターリーブされた複素数 API で使用できます。この関数を使用して myMexFile.c をビルドするには、以下を入力します。

mex -R2018a myMexFile.c

バージョン履歴

R2018a で導入