メインコンテンツ

mxCreateSparse (C および Fortran)

R2026b

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 を呼び出してそのヒープ領域をすべて解放します。

例

例を開くには、次のように入力します。

edit([fullfile(matlabroot,"extern","examples","refbook","filename")]);

ここで filename は、次のようになります。

バージョン履歴

R2006a より前に導入