exponenta event banner

mxCreateSparse (C и 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