2D разреженный массив
#include "matrix.h" mxArray *mxCreateSparse(mwSize m, mwSize n, mwSize nzmax, mxComplexity ComplexFlag);
#include "fintrf.h" mwPointer mxCreateSparse(m, n, nzmax, ComplexFlag) mwSize m, n, nzmax integer*4 ComplexFlag
m
Количество строк
n
Количество столбцов
nzmax
Число элементов, которое mxCreateSparse
должен выделить, чтобы содержать pr
, ir
, и, если ComplexFlag
является mxCOMPLEX
в C (1
на Фортране), массивы pi
. Установите значение nzmax
, чтобы быть больше, чем или равными количеству ненулевых элементов, которые вы планируете поместить в mxArray
, но убедиться, что nzmax
меньше чем или равен m*n
. nzmax
больше, чем или равен 1.
ComplexFlag
Если mxArray
, который вы создаете, должен содержать мнимые данные, установить ComplexFlag
на mxCOMPLEX
в C (1
на Фортране). В противном случае установите ComplexFlag
на mxREAL
в C (0
на Фортране).
Указатель на созданный mxArray
. Если неудачный в автономном (нефайл MEX) приложение, возвращает NULL
в C (0
на Фортране). Если неудачный в файле MEX, файл MEX отключает и возвращает управление в подсказку MATLAB®. Функция неудачна, когда существует недостаточно свободного пространства "кучи", чтобы создать mxArray
. В этом случае попытайтесь уменьшать nzmax
, m
или n
.
Вызовите mxCreateSparse
, чтобы создать безлюдный разреженный двойной mxArray
. Возвращенный разреженный mxArray
не содержит разреженной информации и не может быть передан в качестве аргумента никакому MATLAB разреженные функции. Чтобы сделать возвращенный разреженный mxArray
полезным, инициализируйте pr
, ir
, jc
, и (если это существует), массивы pi
.
mxCreateSparse
выделяет место для:
Массив pr
длины nzmax
.
Массив pi
длины nzmax
, но только если ComplexFlag
является mxCOMPLEX
в C (1
на Фортране).
Массив ir
длины nzmax
.
Массив jc
длины n+1
.
Когда вы закончите использовать разреженный mxArray
, вызовите mxDestroyArray
, чтобы исправить все его пространство "кучи".
mxComplexity
| mxDestroyArray
| mxSetIr
| mxSetJc
| mxSetNzmax