外部インタフェース/API リファレンス | ![]() ![]() |
Fortran 言語表示
subroutine mxSetNzmax(pm, nzmax) integer*4 pm, nzmax
nzmax
ir
, pr
, pi
(存在すれば)によって指し示される配列を保持するために、mxCreateSparse
が割り当てる要素数。nzmax
はmxArray
内の非ゼロ要素数以上で、行数と列数の積以下の値に設定します。nzmax
の値を0と指定した場合、mxSetNzmax
はnzmax
の値を1に設定します。
詳細
mxSetNzmax
を用いて、指定したスパースなmxArray
のnzmax
フィールドに新たな値を割り当てます。nzmax
フィールドは、スパースなmxArray
内の取りうる最大の非ゼロ要素数が保持されます。
ir
, pr
, pi
(存在すれば)配列内の要素数は、nzmax
と等しくなければなりません。そのため、mxSetNzmax
を呼び出した後で、ir
, pr
, pi
配列のサイズを変更しなければなりません。.
nzmax
の大きさはどうなるでしょうか? 1つの考えとして、nzmax
をスパースなmxArray
内の非ゼロ要素数と等しいか、わずかに大きく設定するとします。この方法は、貴重なヒープ領域を保存します。それ以外の手法として、nzmax
をmxArray
内の要素の総数と等しくすることがあります。この方法は、メモリを浪費する再割り当てを削除(または少なくとも削減)します。
参考
![]() | mxSetName | mxSetPi | ![]() |