外部インタフェース/API リファレンス    
mxSetNzmax

非ゼロ要素に対するストレージ領域の設定

Fortran 言語表示

引数
pm
   スパースなmxArrayのポインタ。

nzmax
   ir, pr, pi (存在すれば)によって指し示される配列を保持するために、mxCreateSparseが割り当てる要素数。nzmaxmxArray内の非ゼロ要素数以上で、行数と列数の積以下の値に設定します。nzmaxの値を0と指定した場合、mxSetNzmaxnzmaxの値を1に設定します。

詳細

mxSetNzmaxを用いて、指定したスパースなmxArraynzmaxフィールドに新たな値を割り当てます。nzmaxフィールドは、スパースなmxArray内の取りうる最大の非ゼロ要素数が保持されます。

ir, pr, pi(存在すれば)配列内の要素数は、nzmaxと等しくなければなりません。そのため、mxSetNzmaxを呼び出した後で、ir, pr, pi配列のサイズを変更しなければなりません。.

nzmaxの大きさはどうなるでしょうか? 1つの考えとして、nzmaxをスパースなmxArray内の非ゼロ要素数と等しいか、わずかに大きく設定するとします。この方法は、貴重なヒープ領域を保存します。それ以外の手法として、nzmaxmxArray内の要素の総数と等しくすることがあります。この方法は、メモリを浪費する再割り当てを削除(または少なくとも削減)します。

参考

mxGetNzmax


 mxSetName mxSetPi