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