Interpolation Using Prelookup

Используйте предварительно вычисленный индекс и дробные значения, чтобы ускорить приближение N-мерной функции

  • Библиотека:
  • Simulink / Интерполяционные таблицы

  • Interpolation Using Prelookup block

Описание

Блок Interpolation Using Prelookup является самым эффективным, когда используется с блоком Prelookup. Блок Prelookup вычисляет индекс и часть интервала, которые задают как ее входное значение u относится к набору данных точки останова. Питайте получившийся индекс и дробные значения в блок Interpolation Using Prelookup, чтобы интерполировать n-мерную таблицу. Эти два блока распределили алгоритмы. Когда объединено вместе, они выполняют ту же операцию как интегрированный алгоритм в n-D блоке Lookup Table. Однако Предварительный поиск и Интерполяция Используя блоки Перед поиском предлагают большую гибкость, которая может обеспечить более эффективную симуляцию и генерацию кода. Для получения дополнительной информации смотрите КПД Эффективности.

Поддерживаемые блочные операции

Чтобы использовать блок Interpolation Using Prelookup, вы задаете набор табличных значений данных непосредственно на диалоговом окне или значениях канала во входной порт T. Как правило, эти табличные значения соответствуют наборам данных точки останова, заданным в блоках Перед поиском. Блок Interpolation Using Prelookup генерирует выведенный путем поиска или оценки табличных значений на основе индекса и значений части интервала, питаемых от блоков Перед поиском. Метки для индекса и части интервала появляются как k и f на значке блока Interpolation Using Prelookup.

Когда входные параметры для индекса и части интервала...Блок Interpolation Using Prelookup...
Сопоставьте со значениями в наборах данных точки остановаВыводит табличное значение на пересечении строки, столбца и более высоких точек останова размерности
Не сопоставляйте со значениями в наборах данных точки останова, но в области значенийИнтерполирует соответствующие табличные значения с помощью Interpolation method, который вы выбираете
Не сопоставляйте со значениями в наборах данных точки останова, и вне области значенийЭкстраполирует выходное значение с помощью Extrapolation method, который вы выбираете

Как блок интерполирует подмножество табличных данных

Можно использовать параметр Number of sub-table selection dimensions, чтобы указать, что интерполяция происходит только на подмножестве табличных данных. Чтобы активировать этот режим интерполяции, установите этот параметр на положительное целое число. Это значение задает количество размерностей, чтобы выбрать, начинающий с самой высокой размерности табличных данных для упорядоченного по столбцам алгоритма по умолчанию. Поэтому значение должно быть меньше чем или равно Number of table dimensions.

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

Для ненулевых значений подтабличное поведение выбора оптимизировано для упорядоченного по строкам размещения, когда вы выбираете Math and Data Types> параметр конфигурации Use algorithms optimized for row-major array layout.

Предположим, что у вас есть 3-D табличные данные в вашем блоке Interpolation Using Prelookup. Это поведение запрашивает упорядоченный по столбцам алгоритм.

Количество размерностей выбораДействие блокомБлокируйте внешний вид
0Интерполирует целую таблицу и не активирует подтабличный выборНе изменяется
1Интерполирует первые две размерности и выбирает третью размерность Отображает входной порт с меткой s3 то, что вы используете, чтобы выбрать и интерполировать 2D таблицы
2Интерполирует первую размерность и выбирает вторые и третьи размерности Отображения два входных порта с маркируют s2 и s3 то, что вы используете, чтобы выбрать и интерполировать 1D таблицы

Подтабличный выбор использует основанную на нуле индексацию. Для примера интерполяции подмножества табличных данных введите sldemo_bpcheck в командной строке MATLAB®.

Для 2D или n-D интерполяции без подтабличного выбора упорядоченные по столбцам и упорядоченные по строкам алгоритмы могут отличаться по порядку выходных вычислений, вызывая небольшие различные числовые результаты.

Порты

Входной параметр

развернуть все

Основанный на нуле индекс, k, определение интервала, содержащего вход u для первой размерности таблицы.

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

Часть, f, представляя нормированное положение входа в интервале, k, для первой размерности таблицы.

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

Основанный на нуле индекс, k, определение интервала, содержащего вход u для n- размерность th таблицы.

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

Часть, f, представляя нормированное положение входа в интервале, k, для n- размерность th таблицы.

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

Входные параметры к порту kf1 содержат, индексируют k и дробный f заданный как объект шины.

Зависимости

Чтобы включить этот порт, установите флажок Require index and fraction as a bus.

Количество доступного kf входные порты зависят от значения параметров Number of sub-table selection dimensions и Number of dimensions.

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

Входные параметры к порту kfn содержат, индексируют k и дробный f для энной размерности входа в виде объекта шины.

Зависимости

Чтобы включить этот порт, установите флажок Require index and fraction as a bus.

Количество доступных входных портов kf зависит от значения параметров Number of sub-table selection dimensions и Number of dimensions.

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

Для упорядоченного по столбцам алгоритма блок использует входные параметры для sm, sm+1... sn порт, чтобы выполнить выбор и интерполяцию в рамках подтаблиц. m карты к m th размерность таблицы. n равняется Number of dimensions.

Для упорядоченного по строкам алгоритма блок использует входные параметры для s1, s2..., sm порт, чтобы выполнить выбор и интерполяцию в рамках подтаблиц. m карты к m th размерность таблицы. m равняется Number of sub-table selection dimensions.

Зависимости

Чтобы включить этот порт, Number of sub-table selection dimensions должен быть положительным целым числом, меньше чем или равным Number of dimensions.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Табличные значения данных, предоставленные, как введено порту T. Как правило, эти табличные значения соответствуют наборам данных точки останова, заданным в блоках Перед поиском. Блок Interpolation Using Prelookup генерирует выведенный путем поиска или оценки табличных значений на основе индекса (k) и часть интервала (f) значения питаются от блоков Перед поиском.

Зависимости

Чтобы включить этот порт, установите Source на Input port.

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

Вывод

развернуть все

Приближение N-мерной функции, вычисленной путем интерполяции (или экстраполирования) табличные данные с помощью значений от входного индекса, k, и часть, f.

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

Параметры

развернуть все

Основной

Табличные данные

Задайте количество размерностей, которые должны иметь табличные данные. Number of dimensions задает количество независимых переменных для таблицы.

Задавать...Сделайте это...

1, 2, 3, или 4

Выберите значение из выпадающего списка.

Более высокое количество табличных размерностей

Введите положительное целое число непосредственно в поле.

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

Программируемое использование

Параметры блоков: NumberOfTableDimensions
Ввод: символьный вектор
Значения: '1' | '2' | '3' |'4' | ... | '30'
Значение по умолчанию: '2'

Установите этот флажок, чтобы объединить индекс и дробные входные параметры в шине.

Чтобы позволить блоку Prelookup подать входной сигнал с блоком Interpolation Using Prelookup, установите:

  • Output selection к Index and fraction as bus

  • Output к Bus: <object name>, где <object name> должно быть допустимое имя объекта шины, доступное для модели

Независимо от этой установки флажка порт выбора всегда действует в режиме нешины.

Программируемое использование

Параметры блоков: RequireIndexFractionAsBus
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте, ввести ли табличные данные непосредственно или использовать объект интерполяционной таблицы. Если вы устанавливаете этот параметр на:

  • Explicit values, Source и параметры Value отображаются на диалоговом окне.

  • Lookup table object, параметр Name отображается на диалоговом окне.

Программируемое использование

Параметры блоков: TableSpecification
Ввод: символьный вектор
Значения: 'Explicit values' | 'Lookup table object'
Значение по умолчанию: 'Explicit values'

Задайте, ввести ли табличные данные в диалоговое окно или наследовать данные из входного порта. Если вы устанавливаете Source на:

  • Dialog, введите табличные данные в текстовое поле под Value

  • Input port, проверьте, что восходящий сигнал снабжает табличными данными к табличному входному порту

Зависимости

Чтобы включить этот параметр, установите Specification на Explicit values.

Программируемое использование

Параметры блоков: TableSource
Ввод: символьный вектор
Значения: 'Dialog' | 'Input port'
Значение по умолчанию: 'Dialog'

Задайте табличные данные как N- D массив, где N значение параметра Number of dimensions. Можно отредактировать блок-схему, не задавая правильно определенную размеры матрицу путем ввода пустой матрицы ([]) или неопределенная переменная рабочей области в поле редактирования Value. Для получения информации о том, как создать многомерные массивы в MATLAB, смотрите Многомерные массивы.

Если вы устанавливаете Source на Input port, проверьте, что восходящий сигнал снабжает табличными данными к входному порту T. Размер табличных данных должен совпадать с Number of table dimensions. Для этой опции блок наследовал табличные атрибуты от входного порта T.

Чтобы отредактировать интерполяционные таблицы с помощью Редактора Интерполяционной таблицы, нажмите Edit (см. Интерполяционные таблицы Редактирования).

Зависимости

Чтобы включить этот параметр и явным образом задать табличные значения на диалоговом окне, необходимо установить Specification на Explicit values и Source к Dialog.

Программируемое использование

Параметры блоков: Table
Ввод: символьный вектор
Значения: scalar, vector, matrix, or N-D array
Значение по умолчанию: 'sqrt([1:11]' * [1:11])'

Задайте имя Simulink.LookupTable объект. Интерполяционная таблица ссылки на объект объекты точки останова Simulink®. Если Simulink.LookupTable объект не существует, кликает по кнопке действий и выбирает Create. Соответствующие параметры нового объекта интерполяционной таблицы автоматически заполняются с информацией о блоке.

Зависимости

Чтобы включить этот параметр, установите Specification на Lookup table object.

Программируемое использование

Параметры блоков: LookupTableObject
Ввод: символьный вектор
Значение: Simulink.LookupTable object
Значение по умолчанию: ''
Алгоритм

Задайте метод использование блока, чтобы интерполировать табличные данные. Можно выбрать Linear point-slope, Flatсамый близкий, или Linear Lagrange. Смотрите Методы интерполяции для получения дополнительной информации.

Программируемое использование

Параметры блоков: InterpMethod
Ввод: символьный вектор
Значения: 'Flat' | 'Linear point-slope' | 'Nearest' | 'Linear Lagrange'
Значение по умолчанию: 'Linear point-slope'

Задайте метод использование блока, чтобы экстраполировать значения для всех входных параметров, которые выходят за пределы области значений набора данных точки останова. Можно выбрать Clip или Linear. См. Методы Экстраполяции для получения дополнительной информации.

Если методом экстраполяции является Linear, значение экстраполяции вычисляется на основе выбранного метода линейной интерполяции. Например, если методом интерполяции является Линейный Лагранж, метод экстраполяции наследовал Линейное Лагранжево уравнение, чтобы вычислить экстраполируемое значение.

Зависимости

Чтобы включить параметр Extrapolation method, установите Interpolation method на Linear.

Блок Interpolation Using Prelookup не поддерживает Linear экстраполяция, когда сигналы ввода или вывода задают целое число или типы данных с фиксированной точкой.

Программируемое использование

Параметры блоков: ExtrapMethod
Ввод: символьный вектор
Значения: 'Clip' | 'Linear'
Значение по умолчанию: 'Linear'

Задайте, как блок вводит для индекса (k) и часть интервала (f) получите доступ к последним элементам n-мерных табличных данных. Значения индекса являются базирующимся нулем.

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

ФлажокБлокируйте поведение

on

Возвращает значение последнего элемента в размерности его таблицы когда:

  • k индексирует последний табличный элемент в соответствующей размерности

  • f 0

off

Возвращает значение последнего элемента в размерности его таблицы когда:

  • k индексирует предпоследний табличный элемент в соответствующей размерности

  • f 1

Зависимости

Этот флажок отображается только когда:

  • Interpolation method является Linear point-slope или Linear Lagrange

  • Extrapolation method является Clip

Совет

Когда вы выбираете Valid index input may reach last index для блока Interpolation Using Prelookup, необходимо также выбрать Use last breakpoint for input at or above upper limit для всех блоков Prelookup, которые питают его. Это действие позволяет блокам использовать то же соглашение индексации при доступе к последним элементам их точки останова и табличных наборов данных.

Программируемое использование

Параметры блоков: ValidIndexMayReachLast
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте, произвести ли предупреждение или ошибку, когда вход вне области значений. Опции включают:

  • None — Не произведите ответ.

  • Warning — Выведите предупреждение и продолжите симуляцию.

  • Error — Отключите симуляцию и отобразите ошибку.

Программируемое использование

Параметры блоков: DiagnosticForOutOfRangeInput
Ввод: символьный вектор
Значения: 'None' | 'Warning' | 'Error'
Значение по умолчанию: 'None'

Задайте количество размерностей подтаблицы, что блок используется для расчета выхода. Следуйте этим правилам:

  • Чтобы включить подтабличный выбор, введите положительное целое число.

    Это целое число должно быть меньше чем или равно Number of table dimensions.

  • Чтобы отключить подтабличный выбор, введите 0 интерполировать целую таблицу.

Для ненулевых значений подтабличное поведение выбора оптимизировано для упорядоченного по строкам размещения, когда вы выбираете Math and Data Types> параметр конфигурации Use algorithms optimized for row-major array layout.

Для получения дополнительной информации смотрите, Как Блок Интерполирует Подмножество Табличных Данных.

Программируемое использование

Параметры блоков: NumSelectionDims
Ввод: символьный вектор
Значения: '0' | '1' | '2' | '3' | '4' | ... | Number of table dimensions
Значение по умолчанию: '0'
Генерация кода
ФлажокРезультатКогда использовать

on

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

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

Для КПД кода

off

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

Для важных приложений безопасности

Если ваш вход не вне области значений, можно установить флажок Remove protection against out-of-range index in generated code для КПД кода. По умолчанию этот флажок снимается. Для важных приложений безопасности не устанавливайте этот флажок. Если вы хотите установить флажок Remove protection against out-of-range index in generated code, сначала проверяйте, что ваши входные параметры модели находятся в области значений. Например:

  1. Снимите флажок Remove protection against out-of-range index in generated code.

  2. Установите параметр Diagnostic for out-of-range input на Error.

  3. Симулируйте модель в режиме normal mode.

  4. Если существуют ошибки из области значений, фиксируют их, чтобы быть в области значений и запустить симуляцию снова.

  5. Когда симуляция больше не сгенерирует из области значений входные ошибки, установите флажок Remove protection against out-of-range index in generated code.

    Примечание

    Когда вы устанавливаете флажок Remove protection against out-of-range index in generated code и вход k или f вне области значений, поведение не определено для сгенерированного кода.

В зависимости от вашего приложения можно осуществить следующие проверки Model Advisor, чтобы проверить использование этого флажка:

  • By Product> Embedded Coder> Identify lookup table blocks that generate expensive out-of-range checking code

  • By Product> Simulink Check> Modeling Standards> DO-178C/DO-331 Checks> Check usage of lookup table blocks

Для получения дополнительной информации о Model Advisor, смотрите Осуществленные Проверки Model Advisor.

Кроме того, чтобы определить, безопасно ли установить этот флажок, если у вас есть лицензия Simulink Design Verifier™, рассматривают использование Обнаружить Нарушений Входного диапазона Блока (Simulink Design Verifier) проверка.

Этот флажок не оказывает влияния на сгенерированный код, когда одно из следующего верно:

  • Блок Prelookup кормит значениями индекса блок Interpolation Using Prelookup.

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

  • Тип данных входа k ограничивает данные допустимыми значениями индекса.

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

Программируемое использование

Параметры блоков: RemoveProtectionIndex
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не отображается, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Шаг расчета.

Программируемое использование

Параметры блоков: SampleTime
Ввод: символьный вектор
Значения: скаляр или вектор
Значение по умолчанию: '-1'

Типы данных

Задайте тип данных table. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Same as output

  • Имя встроенного типа данных, например, single

  • Имя объекта типа данных, например, Simulink.NumericType объект

  • Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить тип данных table.

Совет

Задайте тип данных table, отличающийся от типа выходных данных для этих случаев:

  • Более низкие требования к памяти для того, чтобы хранить табличные данные, которые используют меньший тип, чем выходной сигнал

  • Совместное использование предмасштабированных табличных данных между двумя блоками Interpolation Using Prelookup с различными типами выходных данных

  • Совместное использование пользовательских данных о столе с возможностью хранения в сгенерированном коде Simulink Coder™ для блоков с различными типами выходных данных

Программируемое использование

Параметры блоков: TableDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit from table data' | 'Inherit: Same as output' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Значение по умолчанию: 'Inherit: Same as input'

Задайте минимальное значение для табличных данных как конечное, действительное, дважды, скалярное. Значением по умолчанию является [] (незаданный).

Программируемое использование

Параметры блоков: TableMin
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

Задайте максимальное значение для табличных данных как конечное, действительное, дважды, скалярное. Значением по умолчанию является [] (незаданный).

Программируемое использование

Параметры блоков: TableMax
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

Задайте промежуточный тип данных результатов. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Same as output

  • Имя встроенного типа данных, например, single

  • Имя объекта типа данных, например, Simulink.NumericType объект

  • Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

Совет

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

Программируемое использование

Параметры блоков: IntermediateResultsDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via internal rule' | 'Inherit: Same as output' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Значение по умолчанию: 'Inherit: Same as input'

Задайте тип выходных данных. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Inherit via back propagation

  • Имя встроенного типа данных, например, single

  • Имя объекта типа данных, например, Simulink.NumericType объект

  • Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить тип выходных данных.

Смотрите Типы данных Управляющего сигнала для получения дополнительной информации.

Программируемое использование

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via back propagation' | 'Inherit: Inherit from table data' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Значение по умолчанию: 'Inherit: Inherit from table data'

Задайте минимальное значение, которое блок должен вывести как конечный, скаляр с действительным знаком. Значением по умолчанию является [] (незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить:

Программируемое использование

Параметры блоков: OutMin
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

Задайте максимальное значение, которое блок должен вывести как конечный, скаляр с действительным знаком. Значением по умолчанию является [] (незаданный). Программное обеспечение Simulink использует это значение, чтобы выполнить:

Программируемое использование

Параметры блоков: OutMax
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

Задайте внутреннее правило для промежуточных вычислений. Выберите Speed для более быстрых вычислений. Если вы делаете, потеря точности может произойти, обычно до 2 битов.

Программируемое использование

Параметры блоков: InternalRulePriority
Ввод: символьный вектор
Значения: 'Speed' | 'Precision'
Значение по умолчанию: 'Speed'

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на этом блоке. Для получения дополнительной информации смотрите Блокировку Установка Типа Выходных данных (Fixed-Point Designer).

Программируемое использование

Параметры блоков: LockScale
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).

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

Программируемое использование

Параметры блоков: RndMeth
Ввод: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Значение по умолчанию: 'Floor'

Задайте, насыщает ли переполнение или переносится.

ДействиеОбъяснениеПовлияйте на переполнениеПример

Установите этот флажок (on).

Ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщения в сгенерированном коде.

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

Максимальное значение, что int8 (8-битное целое число со знаком) тип данных может представлять, 127. Любой результат блочной операции, больше, чем это максимальное значение, вызывает переполнение 8-битного целого числа. С установленным флажком блок выход насыщает в 127. Точно так же блок выход насыщает в минимальном выходном значении-128.

Не устанавливайте этот флажок (off).

Вы хотите оптимизировать КПД своего сгенерированного кода.

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

Переполнение переносится к соответствующему значению, которое является представимым, по условию вводят.

Максимальное значение, что int8 (8-битное целое число со знаком) тип данных может представлять, 127. Любой результат блочной операции, больше, чем это максимальное значение, вызывает переполнение 8-битного целого числа. Со снятым флажком программное обеспечение интерпретирует вызывающее переполнение значение как int8, который может привести к непреднамеренному результату. Например, результат блока 130 (двоичный файл 1000 0010) описанный как int8,-126.

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

Программируемое использование

Параметры блоков: SaturateOnIntegerOverflow
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Характеристики блока

Типы данных

double | fixed point | integer | single

Прямое сквозное соединение

yes

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Представленный в R2006b
Для просмотра документации необходимо авторизоваться на сайте