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

Компоненты 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 (применимый только к вложенным массивам, т.е. массивам VARIANT VARIANT s, которые самим являются массивами). Значение по умолчанию для этого флага является нулем, который применяет флаг InputArrayFormat к наиболее удаленному массиву. Когда этот флаг больше, чем нуль, например, равен N, правило форматирования пытается применить себя к Энному уровню вложения.

OutputArrayFormat

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

OutputArrayIndFlag

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

AutoResizeOutput

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

TransposeOutput

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