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