exponenta event banner

Флаги форматирования массива

Компоненты MATLAB ® Compiler™ имеют флаги, управляющие форматированием данных массива в обоих направлениях. Как правило, следует разработать код клиента, который соответствует предполагаемым входам и выходам функций MATLAB с соответствующими методами для скомпилированных COM-объектов, в соответствии с правилами, перечисленными в правилах преобразования MATLAB в COM VARIANT и в правилах преобразования COM VARIANT в MATLAB. В некоторых случаях это невозможно, например, когда существующий код MATLAB используется в сочетании со сторонним продуктом, таким как Excel ®.

В следующей таблице показаны флаги форматирования массива.

Флаги форматирования массива

Флаг Описание

InputArrayFormat

Определяет правило форматирования массива, используемое во входных массивах.
Входной массив представляет собой VARIANT массив, созданный клиентом, отправляется как входной параметр вызову метода для скомпилированного COM-объекта.
Допустимые значения для этого флага: mwArrayFormatAsIs, mwArrayFormatMatrix, и mwArrayFormatCell.

mwArrayFormatAsIs передает массив без изменений.

mwArrayFormatMatrix (по умолчанию) форматирует все массивы как матрицы. Когда вход VARIANT имеет тип VT_ARRAY| type, где type - любой числовой тип, этот флаг не имеет эффекта. Когда вход VARIANT имеет тип VT_VARIANT|VT_ARRAY, VARIANTпроверяются s в массиве. Если они однозначны и однородны по типу, вместо массива ячеек создается матрица MATLAB соответствующего типа.

mwArrayFormatCell интерпретирует все массивы как массивы ячеек MATLAB.

InputArrayIndFlag

Задает уровень косвенности входного массива, используемый с InputArrayFormat flag (применяется только к вложенным массивам, т.е. VARIANT массивы VARIANTs, которые сами являются массивами). Значение по умолчанию для этого флага равно нулю, что означает InputArrayFormat флаг к самому внешнему массиву. Когда этот флаг больше нуля, например, равен N, правило форматирования пытается применить себя к N-му уровню вложенности.

OutputArrayFormat

Определяет правило форматирования массива, используемое в выходных массивах. Выходной массив - это массив MATLAB, созданный скомпилированным COM-объектом, отправленный в качестве выходного параметра из вызова метода клиенту. Значения для этого флага, mwArrayFormatAsIs, mwArrayFormatMatrix, и mwArrayFormatCell, привести к тому же поведению, что и соответствующий InputArrayFormat значения флага.

OutputArrayIndFlag

(Применяется только к массивам вложенных ячеек.) Уровень косвенности выходного массива, используемый с OutputArrayFormat флаг. Этот флаг работает точно как InputArrayIndFlag.

AutoResizeOutput

(Применяется только к диапазонам Excel.) Если конечный результат вызова метода представляет собой диапазон ячеек на листе Excel, а размер и форма выходного массива не известны во время вызова, установите этот флаг в значение True для изменения размера каждого диапазона Excel в соответствии с выходным массивом.

TransposeOutput

Установить этот флаг в значение True для транспонирования выходных аргументов. Полезно при вызове компонента MATLAB Compiler из Excel, где функция MATLAB возвращает выходные данные в виде векторов строк, и требуется, чтобы данные находились в столбцах.