Аппроксимируйте одномерную функцию
Интерполяционные таблицы (до R2010b)
Примечание
Блок 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 | Находит элемент в Примечание Если входное значение является точно промежуточным между двумя точками в Vector of input values, самый близкий вход является точкой с более высоким численным значением. Предположим, что вы задаете Vector of input values как [0 2] и Table data как [0 1]. Если ваше входное значение равняется 1, |
Use Input Below | Находит элемент в |
Use Input Above | Находит элемент в |
Примечание
Use Input Nearest, Use Input Below, и Use Input Above методы выполняют то же действие когда вход x совпадает со значением точки останова.
Блок Lookup Table поддерживает следующие типы данных:
Плавающая точка
Встроенное целое число
Фиксированная точка
Boolean
Для получения дополнительной информации смотрите Типы данных, Поддержанные Simulink.
Задайте вектор из входных значений. Этот вектор должен быть одного размера с Table data. Кроме того, вектор входных значений должен строго монотонно увеличиваться после преобразования в тип данных с фиксированной точкой входа. Однако вектор входных значений может монотонно увеличиваться, если сигналами ввода и вывода является оба любой single или double, и если методом поиска является Interpolation-Extrapolation. Обратите внимание на то, что из-за квантования, вектор входных значений может быть строго монотонным в, удваивает формат, но не так после преобразования в тип данных с фиксированной точкой.
Параметр Vector of input values преобразован оффлайн в тип данных входного сигнала с помощью раунда-к-самому-близкому и насыщения.
Нажмите кнопку Edit, чтобы открыть Редактор Интерполяционной таблицы (см. Интерполяционные таблицы Редактирования).
Задайте вектор из выходных значений. Этот вектор должен быть одного размера с Vector of input values.
Параметр Table data преобразован оффлайн в Output data type с помощью раунда-к-самому-близкому и насыщения.
Задайте метод поиска. Смотрите, Как Блок Генерирует Выход для обсуждения опций для этого параметра.
Задайте временной интервал между выборками. Чтобы наследовать шаг расчета, установите этот параметр на -1. См. Настройку времени выборки для получения дополнительной информации.
Задайте минимальное значение, которое должен вывести блок. Значение по умолчанию, [], эквивалентно -Inf. Simulink® программное обеспечение использует это значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков),
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала),
Автоматическое масштабирование типов данных с фиксированной точкой
Задайте максимальное значение, которое должен вывести блок. Значение по умолчанию, [], эквивалентно Inf. Программное обеспечение Simulink использует это значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков),
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала),
Автоматическое масштабирование типов данных с фиксированной точкой
Задайте тип выходных данных. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Inherit via back propagation
Имя встроенного типа данных, например, single
Имя объекта типа данных, например, Simulink.NumericType объект
Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)
Нажмите кнопку Show data type assistant
, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output data type.
Смотрите Типы данных Управления Сигналов для получения дополнительной информации.
Выберите, чтобы заблокировать установку типа выходных данных этого блока против изменений Fixed-Point Tool и Советником Фиксированной точки. Для получения дополнительной информации смотрите Fixed-Point Tool (Fixed-Point Designer).
Выберите округляющийся режим для вычислений интерполяционной таблицы фиксированной точки, которые происходят в процессе моделирования или подписание кода, сгенерированного из модели. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).
Параметры блоков, такие как Table data всегда вокруг к самому близкому представимому целочисленному значению. Чтобы управлять округлением параметров блоков, введите выражение с помощью MATLAB® функция округления в поле редактирования параметра на диалоговом окне блока.
Выбор, чтобы иметь переполнение насыщает. В противном случае они переносятся.
Когда вы устанавливаете этот флажок, насыщение применяется к каждой внутренней операции на блоке, не только выходу или результату. В общем случае процесс генерации кода может обнаружить, когда переполнение не возможно, в этом случае, никакой код насыщения не необходим.
Прямое сквозное соединение | Да |
Размер шага | Заданный в параметре Sample time |
Скалярное расширение | Нет |
Определенный размерность | Да |
Обнаружение пересечения нулем | Нет |