mxCreateSparse (C and Fortran)

2-D разреженный массив

Синтаксис C

#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 чтобы восстановить все его кучное пространство.

Примеры

См. эти примеры в matlabroot/ extern/examples/refbook:

Представлено до R2006a