mxCreateSparse (C および Fortran)
2 次元スパース配列
C 構文
#include "matrix.h" mxArray *mxCreateSparse(mwSize m, mwSize n, mwSize nzmax, mxComplexity ComplexFlag);
Fortran 構文
#include "fintrf.h" mwPointer mxCreateSparse(m, n, nzmax, ComplexFlag) mwSize m, n, nzmax integer*4 ComplexFlag
引数
m
行数
n
列数
nzmax
配列
pr
と配列ir
を、また、ComplexFlag
が C でmxCOMPLEX
の場合 (Fortran では1
) には配列pi
を格納するために、mxCreateSparse
が割り当てる要素の数。nzmax
の値は、mxArray
に配置する予定の非ゼロ要素の数以上に設定しますが、nzmax
はm*n
以下になるようにします。nzmax
は 1 以上です。ComplexFlag
作成する
mxArray
に虚数データを含める場合、C ではComplexFlag
をmxCOMPLEX
に設定します (Fortran では1
)。それ以外の場合、C ではComplexFlag
をmxREAL
に設定します (Fortan では0
)。
戻り値
作成された mxArray
へのポインター。スタンドアロン (非 MEX ファイル) アプリケーションで失敗した場合、C では NULL
(Fortran では 0
) を返します。MEX ファイルで失敗した場合、MEX ファイルは終了し、制御は MATLAB® プロンプトに戻ります。関数は、mxArray
を作成するのに十分な空きヒープ領域がない場合、失敗します。その場合は、nzmax
、m
または n
を少なくしてみてください。
説明
mxCreateSparse
を呼び出して、データの与えられていないスパース double の mxArray
を作成します。返されるスパース mxArray
にはスパース情報は含まれておらず、どの MATLAB スパース関数にも引数として渡すことはできません。返されるスパース mxArray
を活用するには、配列 pr
、ir
、jc
および (存在する場合は) pi
を初期化します。
mxCreateSparse
は以下のスペースを割り当てます。
長さが
nzmax
の配列pr
。長さが
nzmax
の配列pi
。ただし、ComplexFlag
が C でmxCOMPLEX
の場合のみ (Fortran では1
)。長さが
nzmax
の配列ir
。長さが
n+1
の配列jc
。
スパース mxArray
の使用が終わったら、mxDestroyArray
を呼び出してそのヒープ領域をすべて解放します。
バージョン履歴
R2006a より前に導入
参考
mxDestroyArray
| mxSetNzmax
| mxSetIr
| mxSetJc
| mxComplexity