外部インタフェース/API リファレンス | ![]() ![]() |
C 言語表示
#include "matrix.h" mxArray *mxCreateSparse(int m, int n, int nzmax, mxComplexity ComplexFlag);
n
nzmax
pr
, ir
およびComplexFlag
がmxCOMPLEX
ならば、pi
配列を保持するためにmxCreateSparse
が割り当てる要素数。nzmax
の値は、mxArray
内に設定しようとする非ゼロ要素の数以上の値に設定しますが、nzmax
はm*n
以下であるようにしてください。
ComplexFlag
mxREAL
またはmxCOMPLEX
に設定します。作成しているmxArray
が虚数データを含む場合、ComplexFlag
をmxCOMPLEX
に設定します。そうでない場合は、ComplexFlag
をmxREAL
に設定します。
戻り値
成功した場合は、作成したスパースなmxArray
のポインタ。失敗した場合は、NULL
を出力します。最も考えられる失敗の理由は、フリーなヒープ領域が不十分であることです。このときは、nzmax
, m
, n
を減らしてみてください。
詳細
mxCreateSparse
を呼び出すことによって、要素の入っていないスパースなmxArray
.を作成します。出力されるスパースなmxArray
には、スパース性の情報は含まれず、MATLABの関数sparseの引数として渡すことはできません。出力されるスパースなmxArray
を有効にするためには、pr
, ir
, jc
, および(存在すれば)pi
配列を初期化しなければなりません。
mxCreateSparse
は、以下に対して領域を割り当てます。
nzmax
のpr
配列nzmax
のpi
配列(ComplexFlag
がmxCOMPLEX
である場合のみ)nzmax
のir
配列n+1
のjc
配列スパースなmxArray
の使用を終了するときは、mxDestroyArray
を呼び出して、すべてのヒープ領域を開放してください。
例題
examples
ディレクトリのrefbook
サブディレクトリのfulltosparse.c
を参照してください。
参考
mxDestroyArray
, mxSetNzmax
, mxSetPr
, mxSetPi
, mxSetIr
, mxSetJc
, mxComplexity
![]() | mxCreateScalarDouble | mxCreateString | ![]() |