Интерполяция Используя предварительный поиск

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

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

Описание

Блок 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...
Сопоставьте со значениями в наборах данных точки остановаВыводит табличное значение на пересечении строки, столбца и более высоких точек останова размерности
Не сопоставляйте со значениями в наборах данных точки останова, но в области значенийИнтерполирует соответствующие табличные значения с помощью Метода интерполяции, который вы выбираете
Не сопоставляйте со значениями в наборах данных точки останова, и вне области значенийЭкстраполирует выходное значение с помощью метода Экстраполяции, который вы выбираете

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

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

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

Для ненулевых значений подтабличное поведение выбора оптимизировано для главного строкой размещения, когда вы выбираете Math и Data Types> алгоритмы Use, оптимизированные для параметра конфигурации размещения главного массива строки.

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

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

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

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

Порты

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

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

Зависимости

Чтобы включить этот порт, выберите индекс Require и часть как флажок шины.

Количество доступных входных портов kf зависит от значения Количества размерностей и Количества подтабличных параметров размерностей выбора.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка | шина

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

Зависимости

Чтобы включить этот порт, выберите индекс Require и часть как флажок шины.

Количество доступных kf входных портов зависит от значения Количества размерностей и Количества подтабличных параметров размерностей выбора.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка | шина

Блок использует входные параметры для sm, sm-1... порт, чтобы выполнить выбор и интерполяцию в рамках подтаблиц. m равняется Количеству размерностей - Количество подтабличных размерностей выбора.

Зависимости

Чтобы включить этот порт, Количество подтабличных размерностей выбора должно быть положительным целым числом, меньше чем или равным Количеству размерностей.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный | шина

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

Зависимости

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Вывод

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | фиксированная точка

Параметры

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

Основной

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

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

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

1, 2, 3, или 4

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

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

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

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

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

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

Если вы выбираете этот параметр, подтабличные порты выбора продолжают работать в режиме нешины.

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

  • Выведите выбор к Index and fraction as bus

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

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

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

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

  • Explicit values, Источник и Параметры, передаваемые по значению видимы на диалоговом окне.

  • Lookup table object, параметр Имени видим на диалоговом окне.

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

Блочный параметр: TableSpecification
Ввод: символьный вектор
Значения: 'Явные значения' | 'Объект интерполяционной таблицы'
Значение по умолчанию: 'Explicit values'

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

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

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

Зависимости

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

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

Блочный параметр: TableSource
Ввод: символьный вектор
Значения: 'Диалоговое окно' | 'Входной порт'
Значение по умолчанию: диалоговое окно

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

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

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

Зависимости

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

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

Блочный параметр: Таблица
Ввод: символьный вектор
Значения: скаляр, вектор, матрица или массив N-D
Значение по умолчанию: 'sqrt([1:11]' * [1:11])'

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

Зависимости

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

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

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

Алгоритм

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

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

Блочный параметр: InterpMethod
Ввод: символьный вектор
Значения: 'Плоский' | 'Линейный наклон точки' | 'Самый близкий' | 'Линейный Лагранж'
Значение по умолчанию: 'Linear point-slope'

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

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

Зависимости

Чтобы включить параметр метода Экстраполяции, установите Метод интерполяции для Linear.

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

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

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

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

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

on

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

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

  • f является 0

'off'

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

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

  • f является 1

Зависимости

Этот флажок видим только когда:

  • Методом интерполяции является Linear

  • Методом экстраполяции является Clip

Совет

То, когда вы выбираете Valid index input, может достигнуть последнего индекса для блока Interpolation Using Prelookup, необходимо также выбрать Use последняя точка останова для входного параметра в или выше верхнего предела для всех блоков Перед поиском, которые подают его. Это действие позволяет блокам использовать то же соглашение индексации при доступе к последним элементам их точки останова и табличных наборов данных.

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

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

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

  • 'none' Не произведите ответ.

  • Предупреждение Отобразите предупреждение и продолжите моделирование.

  • Ошибка Отключите моделирование и отобразите ошибку.

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

Блочный параметр: DiagnosticForOutOfRangeInput
Ввод: символьный вектор
Значения: 'Ни один' | 'Предупреждение' | 'Ошибка'
Значение по умолчанию: 'none'

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

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

    Это целое число должно быть меньше чем или равно Количеству табличных размерностей.

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

Для ненулевых значений подтабличное поведение выбора оптимизировано для главного строкой размещения, когда вы выбираете Math и Data Types> алгоритмы Use, оптимизированные для параметра конфигурации размещения главного массива строки.

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

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

Блочный параметр: NumSelectionDims
Ввод: символьный вектор
Значения: '0' | '1' | '2' | '3' | '4' |... | Количество табличных размерностей
Значение по умолчанию: '0'

Генерация кода

ФлажокРезультатКогда использовать

on

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

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

Для эффективности кода

'off'

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

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

Если ваш входной параметр не вне области значений, можно выбрать защиту Remove от индекса из области значений во флажке сгенерированного кода для эффективности кода. По умолчанию этот флажок снимается. Для важных приложений безопасности не устанавливайте этот флажок. Если вы хотите выбрать защиту Remove от индекса из области значений во флажке сгенерированного кода, сначала проверьте, что ваши образцовые входные параметры находятся в области значений. Например:

  1. Очистите Удалить защиту от индекса из области значений во флажке сгенерированного кода.

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

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

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

  5. Когда моделирование больше не сгенерирует из области значений входные ошибки, выберите защиту Remove от индекса из области значений во флажке сгенерированного кода.

    Примечание

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

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

  • Продуктом> Embedded Coder> Идентифицирует блоки интерполяционной таблицы, которые генерируют дорогой код проверки из области значений

  • Продуктом> Simulink Check> Моделирование Стандартов> DO-178C/DO-331 Проверки> использование Проверки блоков интерполяционной таблицы

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

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

  • Блок 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 кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить тип данных table.

Совет

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

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

  • Совместное использование предмасштабированных табличных данных между двумя Интерполяциями Используя Предварительный поиск блокируется с различными типами выходных данных

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

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

Блочный параметр: TableDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь табличным данным' |, 'Наследуйтесь: То же самое, как выведено' | 'удваивается' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Same as input'

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

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

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

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

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

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

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

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

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

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

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

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

Совет

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

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

Блочный параметр: IntermediateResultsDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' |, 'Наследуйтесь: То же самое, как выведено' | 'удваивается' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Same as input'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить тип выходных данных.

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

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

Блочный параметр: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через обратное распространение' |, 'Наследуйтесь: Наследуйтесь табличным данным' | 'дважды' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' | 'fixdt (1,16,2^0,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit from table data'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Блочный параметр: RndMeth
Ввод: символьный вектор
Значения: 'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль'
Значение по умолчанию: пол

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer | fixed point

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

No

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

No

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

No

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

No

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

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

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

Представленный в R2006b

Была ли эта тема полезной?