1D интерполяционная таблица

Аппроксимируйте одномерную функцию

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

    HDL Coder / Интерполяционные таблицы

Описание

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

1D, 2D, и n-D блоки Интерполяционной таблицы оценивают выбранное представление функции в переменных N

y=F(x1,x2,x3,...,xN)

где функциональный F может быть эмпирическим. Блок-диаграммы вводят к выходному значению путем поиска или интерполяции таблицы значений, которые вы задаете с параметрами блоков. Блок поддерживает плоская (константа), линейная (Линейный наклон точки), Лагранж (Линейный Лагранж), самые близкие методы, и интерполяции кубическим сплайном. Можно применить эти методы к таблице любой размерности от 1 до 30.

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

Смотрите Местоположение порта После Вращения или Зеркального отражения для описания порядка порта для различных ориентаций блока.

Когда Math and Data Types> параметр конфигурации Use algorithms optimized for row-major array layout установлен, 2D и n-D поведение блока Lookup Table изменяется от главного столбцом до главного строкой. Для этих блоков главные столбцом и главные строкой алгоритмы могут отличаться по порядку выходных вычислений, возможно приводящих к немного отличающимся численным значениям. Эта возможность требует лицензия Embedded Coder® или Simulink® Coder™. Для получения дополнительной информации о главной строкой поддержке смотрите Генерацию кода Матриц и Массивов (Simulink Coder).

Спецификация данных о точке останова и таблице

Эти параметры блоков задают табличные данные и точка останова.

Параметры блоковЦель
Number of table dimensions Задает количество размерностей вашей интерполяционной таблицы.
Breakpoints Задает вектор точки останова, который соответствует каждой размерности вашей интерполяционной таблицы.
Table data Задает связанный набор выходных значений.

Совет

Равномерно распределенные точки останова могут сделать сгенерированный код без делений. Для получения дополнительной информации смотрите fixpt_evenspace_cleanup и Идентифицируйте сомнительные операции фиксированной точки (Embedded Coder).

Как блок генерирует Вывод

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

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

Другие Блоки, которые Выполняют Эквивалентные Операции

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

Когда операция поиска является доступом к массиву, который не требует интерполяции, использует Прямую Интерполяционную таблицу (n-D) блок. Например, если у вас есть целочисленное значение k, и вы хотите k th элемент таблицы, y = table(k), интерполяция является ненужной.

Порты

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

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

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

Пример: 0:10

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

Вывод

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

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

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

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

Параметры

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

Таблица и точки останова

Введите номер размерностей интерполяционной таблицы. Этот параметр определяет:

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

  • Количество наборов точки останова, чтобы задать

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

1, 2, 3, или 4

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

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

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

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

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

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

Из списка выберите:

  • Table and breakpoints — Задайте табличные данные и точки останова. Выбор этой опции включает эти параметры:

    • Table data

    • Breakpoints specification

    • Breakpoints 1

    • Edit table and breakpoints

  • Lookup table object — Используйте существующий объект (Simulink.LookupTable) интерполяционной таблицы. Выбор этой опции включает поле Name и кнопку Edit table and breakpoints.

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

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

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

Зависимости

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

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

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

Введите таблицу выходных значений.

Во время симуляции матричный размер должен совпадать с размерностями, заданными параметром Number of table dimensions. Однако во время редактирования блок-схемы, можно ввести пустую матрицу (заданный как []) или неопределенная переменная рабочей области. Этот метод позволяет вам отложить задавать правильно определенную размеры матрицу для табличных данных и продолжать редактировать блок-схему.

Зависимости

Чтобы включить этот параметр, установите Data specification на Table and breakpoints.

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

Параметры блоков: Table
Ввод: символьный вектор
Значения: вектор табличных значений
Значение по умолчанию: 'tanh([-5:5])'

Задайте, ввести ли данные как явные точки останова или как параметры, которые генерируют равномерно распределенные точки останова.

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

  • Чтобы задать параметры, которые генерируют равномерно распределенные точки останова, установите этот параметр на Even spacing и введите значения для First point и параметры Spacing для каждой размерности данных о точке останова. Блок вычисляет число точек, чтобы сгенерировать от табличных данных.

Зависимости

Чтобы включить этот параметр, установите Data specification на Table and breakpoints.

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

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

Задайте данные о точке останова явным образом или как равномерно распределенные точки останова, на основе значения параметра Breakpoints specification.

  • Если вы устанавливаете Breakpoints specification на Explicit values, введите набор точки останова, который соответствует каждой размерности табличных данных в каждой строке Breakpoints. Для каждой размерности задайте точки останова как или n-1 вектор 1 на n, значения которого строго монотонно увеличиваются.

  • Если вы устанавливаете Breakpoints specification на Even spacing, введите параметры First point и Spacing в каждой строке Breakpoints, чтобы сгенерировать равномерно распределенные точки останова в соответствующей размерности. Ваши табличные данные определяют количество равномерно расположенных с интервалами точек.

Зависимости

Чтобы включить этот параметр, установите Data specification на Table and breakpoints.

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

Параметры блоков: BreakpointsForDimension1
Ввод: символьный вектор
Значения: 1 на n или вектор n-1 монотонно увеличения значений
Значение по умолчанию: '[10, 22, 31]'

Задайте первую точку в своих равномерно расположенных с интервалами данных о точке останова как с действительным знаком, конечное, скалярное. Этот параметр доступен, когда Breakpoints specification установлен в Even spacing.

Зависимости

Чтобы включить этот параметр, установите Data specification на Table and breakpoints и Breakpoints specification к Even spacing.

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

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

Задайте интервал между точками в ваших равномерно расположенных с интервалами данных о точке останова.

Зависимости

Чтобы включить этот параметр, установите Data specification на Table and breakpoints и Breakpoints specification к Even spacing.

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

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

Нажмите эту кнопку, чтобы открыть Редактор Интерполяционной таблицы. Для получения дополнительной информации смотрите Интерполяционные таблицы Редактирования в документации Simulink.

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

Алгоритм

Метод поиска

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

Зависимости

Если вы выбираете Cubic spline, блок поддерживает только скалярные сигналы. Другие методы интерполяции поддерживают нескалярные сигналы.

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

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

Выберите Clip, Linear или Cubic spline. См. Методы Экстраполяции для получения дополнительной информации.

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

Зависимости

Чтобы выбрать Cubic spline for Extrapolation method, необходимо также выбрать Cubic spline for Interpolation method.

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

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

Выберите Evenly spaced points, Linear search или Binary search. Каждый метод поиска имеет преимущества скорости в различных обстоятельствах:

  • Для равномерно расположенных с интервалами наборов точки останова (например, 10, 20, 30, и так далее), вы достигаете оптимальной скорости путем выбора Evenly spaced points, чтобы вычислить табличные индексы.

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

    Примечание

    Установите Index search method на Evenly spaced points при использовании объекта Simulink.LookupTable задать табличные данные, и параметр Breakpoints Specification объекта Simulink.LookupTable, на который ссылаются, устанавливается на Even spacing.

  • Для неравномерно расположенных с интервалами наборов точки останова следуйте этим инструкциям:

    • Если входные сигналы не отличаются очень между временными шагами, выбор Linear search with Begin index search using previous index result производит лучшую производительность.

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

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

Примечание

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

  • Данные о точке останова не являются настраиваемыми.

  • Методом поиска по индексу является Evenly spaced points.

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

Параметры блоков: IndexSearchMethod
Ввод: символьный вектор
Значения: 'Binary search' | 'Evenly spaced points' | 'Linear search'
Значение по умолчанию: 'Binary search'

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

Зависимости

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

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

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

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

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

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

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

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

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

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

ФлажокБлокируйте индекс использования...Часть интервала
Выбранный Последний элемент данных о точке останова по вкладке Table and Breakpoints 0
Очищенный Предпоследний элемент данных о точке останова по вкладке Table and Breakpoints 1

Учитывая вход u в области значений набора точки останова bp, дробный f интервала, в области значений 0 f 1, вычисляется как показано ниже.

Предположим, что набором точки останова является [1 4 5], и входом u является 5.5. Если вы устанавливаете этот флажок, индекс является индексом последнего элемента (5), и часть интервала 0. Если вы снимаете этот флажок, индекс является индексом предпоследнего элемента (4), и часть интервала равняется 1.

Зависимости

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

  • Interpolation method к Linear.

  • Extrapolation method к Clip.

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

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

Введите настройки

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

Примечание

Когда вы устанавливаете этот флажок, один входной порт с меткой u появляется на блоке.

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

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

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

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

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

on

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

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

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

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

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

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

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

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

Зависимости

Если вы устанавливаете Interpolation method на Cubic spline, этот флажок не доступен.

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

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

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

Зависимости

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

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

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

Пример: [4 6] для 5 7 таблицы

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

  • Встроенные типы с плавающей точкой: double и single

  • Встроенные целочисленные типы: int8, int16, int32, uint8, uint16 и uint32

Примеры допустимых спецификаций включают:

Зависимости

Чтобы включить этот параметр, выберите Support tunable table size in code generation. При настройке этого параметра в сгенерированном коде обеспечьте новые табличные данные и точки останова наряду с настроенным значением параметров.

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

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

Типы данных

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

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

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

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

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

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

Совет

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Имя класса типа данных, например, перечислимого класса типа данных

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

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

Совет

  • Точки останова поддерживают неупорядоченные перечисленные данные. В результате линейные поисковые запросы также не упорядочены, который предлагает гибкость, но может повлиять на производительность. Поиск начинается с первого элемента в точке останова.

  • Если флажок Begin index search using previous index result устанавливается, необходимо использовать упорядоченные монотонно увеличивающиеся данные. Это упорядоченное расположение улучшает производительность.

  • Для перечислимых данных Extrapolation method должен быть Clip.

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

Это - ограничение для использования перечислимых данных с этим блоком:

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

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

Совет

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

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

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

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

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

Параметры блоков: BreakpointsForDimension1DataTypeStr | BreakpointsForDimension2DataTypeStr| ... | BreakpointsForDimension30DataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Same as corresponding input' | 'Inherit: Inherit from 'Breakpoint data'' | '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 corresponding input'

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры блоков: FractionDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via internal rule' | 'double' | 'single' | 'fixdt(1,16,0)'|'<data type expression>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

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

  • Правило, которое наследовало тип данных, например, 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,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression>'
Значение по умолчанию: 'Inherit: Same as output'

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

  • Правило, которое наследовало тип данных, например, 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' | 'Inherit: Same as first input' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression'
Значение по умолчанию: 'Inherit: Same as first input'

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

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

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

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

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

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

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

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

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

Выберите, чтобы потребовать, чтобы все входные параметры имели совпадающий тип данных.

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

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

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

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

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

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

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

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

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

ДействиеПричины принятия этих мерЧто происходит для переполненияПример

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

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

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

Переполнение, сопоставленное с 8-битным целым числом со знаком, может насыщать к-128 или 127.

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

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

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

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

Номер 130 не помещается в 8-битное целое число со знаком и переносится к-126.

Совет

Если вы сохраняете свою модель как версию R2009a или ранее, эта установка флажка не имеет никакого эффекта, и никакой код насыщения не появляется. Это поведение сохраняет обратную совместимость.

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

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

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

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

Типы данных

double | enumerated | fixed point | integer | single

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

yes

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

yes

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

no

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

no

Больше о

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

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

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

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

Введенный в R2011a

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