mxCreateSparse (C и Фортран)

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

Синтаксис 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 выделяет место для:

  • Массив pr длины nzmax.

  • Массив pi длины nzmax, но только если ComplexFlag является mxCOMPLEX в C (1 на Фортране).

  • Массив ir длины nzmax.

  • Массив jc длины n+1.

Когда вы закончите использовать разреженный mxArray, вызовите mxDestroyArray, чтобы исправить все его пространство "кучи".

Примеры

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

Смотрите также

| | | |

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