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, чтобы исправить все его пространство "кучи".
См. следующие примеры в matlabroot / extern / examples / refbook.
mxDestroyArray, mxSetNzmax, mxSetPr, mxSetPi, mxSetIr, mxSetJc, mxComplexity