2D числовая матрица
#include "matrix.h" mxArray *mxCreateNumericMatrix(mwSize m, mwSize n, mxClassID classid, mxComplexity ComplexFlag);
#include "fintrf.h" mwPointer mxCreateNumericMatrix(m, n, classid, ComplexFlag) mwSize m, n integer*4 classid, ComplexFlag
m
Количество строк
n
Количество столбцов
classid
Идентификатор для класса массива, который определяет путь числовые данные, представлен в памяти. Например, определение mxINT16_CLASS
в C заставляет каждую часть числовых данных в mxArray
быть представленной как 16-битное целое число со знаком. На Фортране используйте функциональный mxClassIDFromClassName
, чтобы получить значение classid
на имя класса MATLAB®.
ComplexFlag
Если mxArray
, который вы создаете, должен содержать мнимые данные, установить ComplexFlag
на mxCOMPLEX
в C (1
на Фортране). В противном случае установите ComplexFlag
на mxREAL
в C (0
на Фортране).
Указатель на созданный mxArray
, в случае успеха. Если неудачный в автономном (нефайл MEX) приложение, возвращает NULL
в C (0
на Фортране). Если неудачный в файле MEX, файл MEX отключает и возвращает управление в посдказку MATLAB. Функция неудачна, когда существует недостаточно свободного пространства "кучи", чтобы создать mxArray
.
Вызовите mxCreateNumericMatrix
, чтобы создать 2D mxArray
, в котором все элементы данных имеют тип числовых данных, заданный classid
. После создания mxArray
mxCreateNumericMatrix
инициализирует все свои действительные элементы данных к 0. Если ComplexFlag
равняется mxCOMPLEX
в C (1
на Фортране), mxCreateNumericMatrix
также инициализирует все свои элементы мнимых данных к 0. mxCreateNumericMatrix
выделяет динамическую память, чтобы сохранить созданный mxArray
. Когда вы закончите использовать mxArray
, вызовите mxDestroyArray
, чтобы уничтожить его.
Следующая таблица показывает значения classid
C и типы данных Фортрана, которые эквивалентны классам MATLAB.
Имя класса MATLAB |
C значение |
Тип Фортрана |
---|---|---|
|
|
|
|
| |
|
|
|
|
| |
|
|
|
|
| |
|
|
|
|
| |
|
|
|
|
|
|
См. следующие примеры в matlabroot / extern / examples / refbook.
Следующие операторы Fortran создают 4
-by-3
матрица элементов REAL*4
, имеющих мнимые компоненты:
C Create 4x3 mxArray of REAL*4 mxCreateNumericMatrix(4, 3, + mxClassIDFromClassName('single'), 0)
mxClassId
, mxClassIdFromClassName
, mxComplexity
, mxDestroyArray
, mxCreateUninitNumericMatrix
, mxCreateNumericArray