Interpolation Using Prelookup

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

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

  • Interpolation Using Prelookup block

Описание

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

Поддерживаемые Блоки операции

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

Когда входы для индекса и интервальной дроби...Интерполяция с использованием блока 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 который используется для выбора и интерполяции таблиц 2-D
2Интерполирует первую размерность и выбирает вторые и третьи размерности Отображает два входных порта с метками s2 и s3 который используется для выбора и интерполяции таблиц 1-D

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

Для 2-D или 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-е размерность таблицы.

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

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

Типы данных: 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 dimensions и Number of sub-table selection dimensions.

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

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

Зависимости

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

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

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

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

Для алгоритма основной строки, блок использует входы для порта s1, s2,..., s m, чтобы выполнить выбор и интерполяцию в подтаблицах. m карты к mth размерность таблицы. 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 порта. Как правило, эти значения таблицы соответствуют наборам данных точек по оси Х, заданным в блоках Prelookup. Блок Интерполяция с использованием Prelookup генерирует вывод, просматривая или оценивая значения таблицы на основе индекса (k) и интервальную дробь (f) значения, подаваемые из блоков Prelookup.

Зависимости

Чтобы включить этот порт, установите 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® объекты точек по оси Х. Если a Simulink.LookupTable объект не существует, нажмите кнопку действия и выберите Create. Соответствующие параметры объекта новой интерполяционной таблицы автоматически заполняются информацией о блоках.

Зависимости

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

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

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

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

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

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

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

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

Зависимости

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

Интерполяция с использованием блока 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).

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

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

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

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

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

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

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

Задайте шаг расчета как значение, отличное от -1. Для получения дополнительной информации см. Раздел «Задание шага расчета».

Зависимости

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

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

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

Типы данных

Задайте тип данных таблицы. Вы можете установить его на:

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

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

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

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

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

Совет

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

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

  • Совместное использование предварительных данных таблицы между двумя блоками 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, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя 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 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++ с помощью Coder™ Simulink ®

..

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

Введенный в R2006b