exponenta event banner

Интерполяция с использованием Prelookup

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

  • Библиотека:
  • Таблицы Simulink/Lookup

  • Interpolation Using Prelookup block

Описание

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

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

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

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

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

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

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

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

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

Количество выбранных измеренийДействие блокаВнешний вид блока
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

Для алгоритма «столбец-мажор» блок использует входы в sm, sm + 1,... Порт sn для выполнения выбора и интерполяции внутри подчиненных таблиц .m сопоставляется с измерением m таблицы. n равно числу размеров.

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

Зависимости

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

Типы данных: 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

Параметры

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

Главный

Данные таблицы

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

Чтобы указать...Сделай это...

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> должно быть допустимым именем объекта шины, доступным для модели

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

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

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

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

  • Explicit valuesпараметры «Источник» и «Значение» отображаются в диалоговом окне.

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

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

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

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

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

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

Зависимости

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

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

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

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

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

Для редактирования таблиц подстановки с помощью редактора таблиц подстановки нажмите кнопку «Изменить» (см. раздел «Редактирование таблиц подстановки»).

Зависимости

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

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

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

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

Зависимости

Чтобы включить этот параметр, установите для параметра Спецификация значение 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значение экстраполяции вычисляется на основе выбранного метода линейной интерполяции. Например, если метод интерполяции является методом линейного лагранжа, метод экстраполяции наследует уравнение линейного лагранжа для вычисления экстраполированного значения.

Зависимости

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

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

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

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

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

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

ФлажокПоведение блока

on

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

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

  • f является 0

off

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

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

  • f является 1

Зависимости

Этот флажок отображается только в том случае, если:

  • Метод интерполяции: Linear point-slope или Linear Lagrange

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

Совет

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

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

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

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

  • None - Нет ответа.

  • Warning - Вывод предупреждения и продолжение моделирования.

  • Error - завершение моделирования и отображение ошибки.

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

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

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

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

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

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

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

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

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

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

on

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

Когда вход k или f находится вне допустимого диапазона, это может привести к неопределенному поведению сгенерированного кода.

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

off

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

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

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

  1. Снимите флажок Удалить защиту от индекса вне диапазона в сгенерированном коде.

  2. Установите для входного параметра Diagnostic for out-of-range значение Error.

  3. Моделирование модели в обычном режиме.

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

  5. Если моделирование больше не создает ошибки ввода вне диапазона, установите флажок Удалить защиту от индекса вне диапазона в сгенерированном коде.

    Примечание

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

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

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

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

Дополнительные сведения о модуле Model Advisor см. в разделе Выполнение проверок модуля Model Advisor.

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

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

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

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

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

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

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

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

Укажите время выборки в качестве значения, отличного от -1. Дополнительные сведения см. в разделе Указание времени образца.

Зависимости

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

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

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

Типы данных

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

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

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

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

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

Нажмите кнопку Показать помощник по типам данных, чтобы отобразить помощник по типам данных, который помогает задать тип данных таблицы.

Совет

Укажите тип данных таблицы, отличный от типа выходных данных для следующих случаев:

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

  • Совместное использование предписанных табличных данных между двумя блоками интерполяции с использованием 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)

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

Совет

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

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

Параметр блока: 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 (Показать помощник по типам данных) для отображения помощника по типам данных, который поможет задать тип выходных данных.

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

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

Параметр блока: 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'

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

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

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

Укажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).

Параметры блока всегда округляются до ближайшего представимого значения. Для управления округлением параметра блока введите выражение с помощью функции округления 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™

..

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

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