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