mxSetNzmax (C和Fortran)
设置为非零元素的存储空间
C语法
#包括“矩阵。h”空白mxSetNzmax (mxArray *点,mwSize nzmax);
Fortran语言的语法
# include“fintrf。nzmax h”子例程mxSetNzmax (pm)下午mwPointer mwSize nzmax
参数
-
点
-
指针指向一个稀疏
mxArray
。 -
nzmax
-
的元素数量
mxCreateSparse
分配的数组指向红外
,公关
,π
(如果它存在的话)。集nzmax
大于或等于非零元素的个数mxArray
,但将其设置为小于或等于列数的行数倍。如果你指定一个nzmax
的价值0
,然后mxSetNzmax
设置的值nzmax
来1
。
描述
使用mxSetNzmax
分配一个新的价值nzmax
指定的稀疏mxArray
。的nzmax
领域拥有非零元素的最大数量稀少mxArray
。
元素的数量红外
,公关
,π
(如果它存在的话)必须等于数组nzmax
。因此,在调用之后mxSetNzmax
,你必须改变的大小红外
,公关
,π
数组。改变其中一个数组的大小:
调用
mxRealloc
指向数组的指针,设置新值的大小nzmax
。调用合适的
mxSet
例程(mxSetIr
,mxSetDoubles
,或mxSetComplexDoubles
)建立新的内存区域。
方法来确定多大nzmax
是:
集
nzmax
等于或略大于非零元素的数量在一个稀疏mxArray
。这种方法节约宝贵的堆空间。使
nzmax
等于元素的总数mxArray
。这种方法消除了(或者,至少减少)昂贵的重新分配。
版本历史
之前介绍过的R2006a