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

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

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

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

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

InputArrayFormat

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

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

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

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

InputArrayIndFlag

Устанавливает уровень опосредования входного массива, используемый с InputArrayFormat флаг (применяется только к вложенным массивам, т.е. 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 возвратов выходов как векторы-строки, и вы хотите, чтобы данные в столбцах.