FunctionApproximation.Options class

Пакет: FunctionApproappation

Задайте дополнительные опции для использования с FunctionApproximation.Problem объект

Описание

The FunctionApproximation.Options объект содержит дополнительные опции для определения FunctionApproximation.Problem объект.

Конструкция

options = FunctionApproximation.Options() создает FunctionApproximation.Options объект для использования в качестве входов в FunctionApproximation.Problem объект. Выход, options, использует значения свойств по умолчанию.

options = FunctionApproximation.Options(Name,Value) создает FunctionApproximation.Options объект со значениями свойств, заданными одним или несколькими Name,Value аргументы в виде пар. Name должны находиться внутри одинарных кавычек (''). Можно задать несколько аргументы пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

Свойства

расширить все

Максимальный допуск абсолютного значения различия между исходным выходным значением и выходным значением приближения, заданный как неотрицательный скаляр.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Позволяет ли обновление диаграммы модели в процессе приближения, заданное в виде числа или логического 1 (true) или 0 (false). Это свойство актуально только для FunctionApproximation.Problem объекты, которые задают блок Lookup Table или блок Math Function в качестве элемента для аппроксимации.

Типы данных: logical

Является ли сгенерированная интерполяционная таблица совместимой с AUTOSAR, задается в виде числа или логического 1 (true) или 0 (false). Когда для этого свойства задано значение 1 (true), сгенерированная интерполяционная таблица является Curve или Map блоком из AUTOSAR Blockset. Когда для этого свойства задано значение 1 (true), тип данных данных таблицы должен равняться типу выходных данных блока.

Установка значения свойства 1 (true) проверяет лицензию AUTOSAR Blockset при использовании approximate или replaceWithApproximate методы.

Типы данных: logical

Интервал между данными точек по оси Х, заданный как одно из следующих значений.

Спецификация точек по оси ХОписание
ExplicitValuesТочки останова интерполяционной таблицы заданы явным образом. Точки останова могут быть ближе друг к другу для некоторых входных областей значений и дальше друг от друга для других.
EvenSpacingТочки останова интерполяционной таблицы расположены равномерно.
EvenPow2SpacingВ интерполяционных точках интервалов интерполяционной таблицы используется значение степени двойки интервалов. Эта спецификация точек по оси Х может похвастаться самой быстрой скоростью выполнения, потому что битовый сдвиг может заменить поиск положения.

Для получения дополнительной информации о том, как спецификация точек по оси Х может повлиять на эффективность, смотрите Эффекты интервалов на скорость, ошибку и использование памяти.

Типы данных: char

Отображать ли детали каждой итерации оптимизации, заданные в виде числа или логического 1 (true) или 0 (false). Значение 1 (true) приводит к получению информации в командном окне при каждой итерации процесса приближения. Значение 0 (false) не отображает информацию до завершения приближения.

Типы данных: logical

Позволяет ли оптимизатор исследовать типы данных половинной точности для данных таблицы и точек по оси Х, заданные в виде числа или логического 1 (true) или 0 (false).

Типы данных: logical

Сгенерировать ли HDL-оптимизированную аппроксимацию, заданную в виде числа или логического 1 (true) или 0 (false). Значение 1 (true), результаты в приближении являются подсистемой, состоящей из шага предварительной загрузки, за которым следует интерполяция, эти функции как интерполяционная таблица с явной конвейеризацией для генерации эффективного HDL-кода.

Чтобы сгенерировать HDL-оптимизированную аппроксимацию, функция для аппроксимации должна быть одномерной и BreakpointSpecification должно быть установлено в EvenSpacing или EvenPow2Spacing.

Типы данных: logical

Когда вход падает между значениями точек по оси Х, интерполяционная таблица интерполирует выходное значение с помощью соседних точек по оси Х.

Метод интерполяцииОписание
LinearПодбирает линию между смежными точками останова и возвращает точку на этой линии, соответствующую входу.
FlatВозвращает выход значение, соответствующее значению точки останова, которое сразу меньше, чем вход значение. Если значение точки по оси Х не существует ниже входа значения, оно возвращает значение точки по оси Х, наиболее близкое к входу значению.
NearestВозвращает значение, соответствующее точке останова, которая находится ближе всего к входу. Если вход равноудален от двух смежных точек по оси Х, выбирается точка по оси Х с более высоким индексом.
None

Генерирует блок Direct Lookup Table (n-D), который выполняет поиски таблицы без какой-либо интерполяции или экстраполяции.

Примечание

При генерации блока Direct Lookup Table максимальное количество входов составляет два.

Типы данных: char

Максимальное количество памяти, которое может использовать сгенерированная интерполяционная таблица, в битах, заданных как скаляр целое число. Изменить модули опции можно с помощью MemoryUnits свойство.

Типы данных: double

Максимальное количество времени для выполнения приближения, заданное в секундах как скалярное число. Приближение выполняется до тех пор, пока оно не достигнет заданного времени, не найдет идеальное решение или не достигнет другого критерия остановки.

Типы данных: double

Модули для MaxMemoryUsage свойство, заданное как 'bits', 'bytes'или один из других перечисленных опций.

Типы данных: char

Ограничивать ли значения таблицы квантованным выходом аппроксимируемой функции, заданным в виде числа или логического 1 (true) или 0 (false). Путем установки этого свойства на 0 (false) и позволяя использовать значения таблицы без кривых, вы можете уменьшить память интерполяционной таблицы с сохранением тех же допусков на ошибки или сохранять ту же память с одновременным уменьшением допусков на ошибки.

Типы данных: logical

Максимальный допуск относительного различия между исходным выходным значением и выходным значением приближения, заданный как неотрицательный скаляр.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Является ли автоматическое насыщение области значений выхода функции аппроксимацией к области значений типа выходных данных, заданной в виде числа или логики 1 (true) или 0 (false).

Пример: options.SaturateToOutputType = 1;

Типы данных: logical

Запускать ли итерации оптимизации параллельно, задается в виде числа или логического 1 (true) или 0 (false). Для параллельной выполнения итераций требуется лицензия Parallel Computing Toolbox™. Если у вас нет лицензии Parallel Computing Toolbox, или если вы задаете 0 (false), итерации выполняются последовательно.

Пример: options.UseParallel = true;

Типы данных: logical

Укажите размеры слова в битах, которые могут использоваться в интерполяционной таблице аппроксимации на основе вашего предполагаемого оборудования. Например, если вы намерены использовать встраиваемый процессор, можно ограничить типы данных в интерполяционной таблице нативными типами 8, 16 и 32. Значение размеров слова должно быть от 1 до 128.

Пример: options.WordLengths = [8,16,32];

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Копировать семантику

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Ограничения

  • Объекты интерполяционной таблицы и объекты точек по оси Х не поддерживаются в рабочей области маски модели.

Алгоритмы

Когда вы задаете BreakpointSpecification на 'ExplicitValues', в процессе приближения алгоритм также пытается найти решение используя 'EvenSpacing' и 'EvenPow2Spacing'. Точно так же, когда вы задаете BreakpointSpecification на 'EvenSpacing'алгоритм также пытается найти решение с помощью 'EvenPow2Spacing'. Если вы задаете значение свойства 'EvenPow2Spacing'алгоритм пытается найти решение только с использованием этого интервала.

В случаях, когда BreakpointSpecification для свойства задано значение 'EvenSpacing', но InputUpperBounds или InputLowerBounds свойство FunctionApproximation.Problem объект равен области значений InputTypesалгоритм не пытается найти решение, используя 'EvenPow2Spacing'.

Введенный в R2018a