exponenta event banner

Lookup Table (Obsolete)

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

Библиотека

Интерполяционные таблицы (до R2010b)

  • Lookup Table (Obsolete) block

Описание

Примечание

Блок Lookup Table является устаревшим. Этот блок был удален из библиотеки Lookup Tables в R2011a и заменен 1D версией блока n-D Lookup Table. Однако существующие модели, которые содержат блок Lookup Table, продолжают работать на обратную совместимость.

Используйте блок 1-D Lookup Table в новых моделях. Рассмотреть использование upgradeadvisor заменять Интерполяционную таблицу на 1D Интерполяционную таблицу в существующих моделях. Среди других улучшений 1D блок Lookup Table поддерживает следующие функции, которые не делает блок Lookup Table:

  • Спецификация типов данных параметров, отличающихся от ввода или вывода, сигнализирует о типах

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

  • Типы данных с фиксированной точкой с размерами слова до 128 битов

  • Спецификация метода поиска по индексу

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

Для получения дополнительной информации смотрите Блоки Интерполяционной таблицы Обновления к Новым Версиям.

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

Блок Lookup Table вычисляет приближение к функциональному y = f(x) векторы определенных данных x и y. Чтобы сопоставить два входных параметров с выходом, используйте блок Lookup Table (2-D).

Вы задаете интерполяционную таблицу путем определения:

  • Vector of input values как 1-by-n вектор из x точки данных

  • Table data как 1-by-n вектор из y точки данных

Чтобы избежать ошибок насыщения параметра, скрипт автоматического масштабирования Fixed-Point Designer™ использует специальное правило для блока Lookup Table. autofixexp (Fixed-Point Designer) изменяет масштабирование при помощи справочных значений параметра Table data в дополнение к регистрируемым минимальным и максимальным значениям симуляции. Это действие предотвращает насыщение данных к различным значениям.

Требования монотонности

Длина x и y векторы данных, предоставленные этому блоку, должны соответствовать. Кроме того, x вектор данных должен строго монотонно увеличиваться (например, значение следующего элемента в векторе больше значения предыдущего элемента) после преобразования в тип данных с фиксированной точкой входа. Однако x вектор данных может монотонно увеличиваться (например, значение следующего элемента в векторе больше или равно значению предыдущего элемента), если все следующее применяется:

  • Сигналами ввода и вывода является оба любой single или double.

  • Методом поиска является Interpolation-Extrapolation.

Совет

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

Для получения дополнительной информации о требованиях монотонности, смотрите Характеристики Данных об Интерполяционной таблице. Чтобы изучить, как смоделировать разрывную функцию с помощью блока Lookup Table, смотрите Представление Разрывов в Интерполяционных таблицах.

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

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

Метод поискаДействие блоком
Interpolation-Extrapolation (значение по умолчанию)

Выполняет линейную интерполяцию и экстраполяцию входных параметров.

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

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

Примечание

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

Interpolation-Use End Values

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

Use Input Nearest

Находит элемент в x самый близкий текущий вход. Соответствующий элемент в y выход.

Примечание

Если входное значение является точно промежуточным между двумя точками в Vector of input values, самый близкий вход является точкой с более высоким численным значением.

Предположим, что вы задаете Vector of input values как [0 2] и Table data как [0 1]. Если ваше входное значение равняется 1, Use Input Nearest метод выбирает самый близкий вход, чтобы быть 2, и соответствующий выход равняется 1.

Use Input Below

Находит элемент в x самый близкий и ниже текущего входа. Соответствующий элемент в y выход. Если нет никакого элемента в x ниже текущего входа блок находит самый близкий элемент.

Use Input Above

Находит элемент в x самый близкий и выше текущего входа. Соответствующий элемент в y выход. Если нет никакого элемента в x выше текущего входа блок находит самый близкий элемент.

Примечание

Use Input Nearest, Use Input Below, и Use Input Above методы выполняют то же действие когда вход x совпадает со значением точки останова.

Поддержка типов данных

Блок Lookup Table поддерживает следующие типы данных:

  • Плавающая точка

  • Встроенное целое число

  • Фиксированная точка

  • Boolean

Для получения дополнительной информации смотрите Типы данных, Поддержанные Simulink.

Параметры

Vector of input values

Задайте вектор из входных значений. Этот вектор должен быть одного размера с Table data. Кроме того, вектор входных значений должен строго монотонно увеличиваться после преобразования в тип данных с фиксированной точкой входа. Однако вектор входных значений может монотонно увеличиваться, если сигналами ввода и вывода является оба любой single или double, и если методом поиска является Interpolation-Extrapolation. Обратите внимание на то, что из-за квантования, вектор входных значений может быть строго монотонным в, удваивает формат, но не так после преобразования в тип данных с фиксированной точкой.

Параметр Vector of input values преобразован оффлайн в тип данных входного сигнала с помощью раунда-к-самому-близкому и насыщения.

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

Table data

Задайте вектор из выходных значений. Этот вектор должен быть одного размера с Vector of input values.

Параметр Table data преобразован оффлайн в Output data type с помощью раунда-к-самому-близкому и насыщения.

Lookup method

Задайте метод поиска. Смотрите, Как Блок Генерирует Выход для обсуждения опций для этого параметра.

Sample time (-1 for inherited)

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

Output minimum

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

Output maximum

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

Output data type

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

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

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

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

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

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

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

Lock output data type setting against changes by the fixed-point tools

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

Integer rounding mode

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

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

Saturate on integer overflow

Выбор, чтобы иметь переполнение насыщает. В противном случае они переносятся.

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

Характеристики

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

Да

Размер шага

Заданный в параметре Sample time

Скалярное расширение

Нет

Определенный размерность

Да

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

Нет

Смотрите также

Lookup Table (2-D) (Obsolete)