Main Content

mxSetPr (C)

(非推奨) mxDOUBLE_CLASS 配列内に実数データ要素を設定

mxSetPr は、インターリーブされた複素数 API では使用できません。代わりに mxSetDoubles または mxSetComplexDoubles を使用してください。詳細については、互換性についての考慮事項を参照してください。

C 構文

#include "matrix.h"
void mxSetPr(mxArray *pm, double *pr);

説明

関数 mxSetPr は、実数 mxDOUBLE_CLASS 配列 pm の実数データを設定します。インターリーブされた複素数 API (mex -R2018a オプション) でビルドし、pm が複素数である場合は、この関数によって MEX ファイルが終了され、制御が MATLAB® プロンプトに戻ります。非 MEX ファイル アプリケーションでは、関数は NULL を返します。

mxArray の型を確認するには、mxIsDouble を呼び出します。データが実数かどうかを判別するには、mxIsComplex を呼び出します。

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

関数 mxSetPr は、既存のデータに割り当てられているメモリは解放しません。既存のメモリを解放するには、mxGetPr によって返されるポインター上で mxFree を呼び出します。

入力引数

すべて展開する

mxDOUBLE_CLASS 型の MATLAB 配列へのポインター。mxArray * として指定します。

mxArray 内にあるデータ配列の実数部の最初の mxDouble 要素へのポインター。double * として指定します。配列内の各要素には、値の実数部が含まれています。

配列は、動的メモリ内になければなりません。このメモリを割り当てるには mxCalloc を呼び出します。メモリの配置に問題が発生してプログラムが終了する可能性があるため、ANSI® C の関数 calloc は使用しないでください。pr が静的メモリを指している場合、メモリ リークや他のメモリ エラーが発生する場合があります。

バージョン履歴

R2006a より前に導入

すべて展開する