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