2-D разреженный массив
#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
выделяет пространство для:
A pr
массив длин nzmax
.
A pi
массив длин nzmax
, но только если ComplexFlag
является mxCOMPLEX
в C (1
на Фортране).
Система координат ir
массив длин nzmax
.
A jc
массив длин n+1
.
Когда вы закончите использовать разреженную mxArray
, вызов mxDestroyArray
чтобы восстановить все его кучное пространство.
mxComplexity
| mxDestroyArray
| mxSetIr
| mxSetJc
| mxSetNzmax