Lookup Table Dynamic

Аппроксимируйте одномерную функцию с помощью динамической таблицы

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

  • Lookup Table Dynamic block

Описание

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

Блок Lookup Table Dynamic вычисляет приближение функционального y = f(x) использование xdat и ydat векторы. Метод поиска может использовать интерполяцию, экстраполяцию или исходные значения входа.

Используя блок Lookup Table Dynamic, можно изменить табличные данные, не останавливая симуляцию. Например, можно включить новые табличные данные, если физическая система вы симулируете изменения.

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

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

ydat вектор является табличными данными, которые являются оценкой функции в значениях точки останова.

Примечание

Входные параметры к xdat и ydat не может быть скаляр (массив с одним элементом) значения. Если вы вводите скалярное значение к любым из этих входных параметров, вы видите ошибку после симуляции. Предоставьте вектор 1 на n обоим xdat и ydat входные параметры.

Определение интерполяционной таблицы

Вы задаете интерполяционную таблицу путем питания xdat и ydat как векторы 1 на n с блоком. Чтобы уменьшать использование ROM в сгенерированном коде для этого блока, можно использовать различные типы данных для xdat и ydat. Однако эти ограничения применяются:

  • xdat установите точки останова данные и x входной вектор должен иметь тот же знак, смещение и дробный наклон. Кроме того, точность и область значений для x должен быть больше или быть равен точности и области значений для xdat.

  • ydat табличные данные и y выходной вектор должен иметь тот же знак, смещение и дробный наклон.

Совет

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

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

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

Метод поискаБлокируйте действие
Interpolation-Extrapolation

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

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

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

Примечание

Если вы выбираете этот метод поиска, программное обеспечение Simulink Coder не может сгенерировать код для этого блока.

Interpolation-Use End Values (значение по умолчанию)

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

Use Input Nearest

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

Use Input Below

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

Use Input Above

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

Примечание

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

Некоторые непрерывные решатели подразделяют промежуток времени симуляции на главные и незначительные временные шаги. Незначительный временной шаг является подразделением главного временного шага. Решатель приводит к результату на каждом главном временном шаге и использует результаты на незначительных временных шагах, чтобы улучшить точность результата на главном временном шаге. Для непрерывных решателей выход блока Lookup Table Dynamic может появиться как шаг ступеньки, потому что сигнал фиксируется в незначительном временном шаге, чтобы избежать неправильных результатов. Для получения дополнительной информации об эффекте решателей на блоке выход, смотрите, Сравнивают Решатели в документации Simulink.

Порты

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

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

Блок принимает входные параметры с комплексным знаком или с действительным знаком.

Пример: 2:12

Зависимости

x входной вектор и xdat данные о точке останова должны иметь тот же знак, смещение и дробный наклон. Кроме того, точность и область значений для x должен быть больше или быть равен точности и области значений для xdat.

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

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

Совет

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

Пример: 1:10

Зависимости

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

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

ydat вход является вектором 1 на n из табличных данных с комплексным знаком или с действительным знаком, которые являются оценкой функции в значениях точки останова.

Пример: [0 3 12 27 48 75 108 147 192 243 300]

Зависимости

ydat табличные данные и y выходной вектор должен иметь тот же знак, смещение и дробный наклон.

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

Вывод

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

Блок вычисляет приближение функционального y = f(x) использование xdat и ydat входные векторы. Метод поиска может использовать интерполяцию, экстраполяцию или исходные значения входа.

Зависимости

ydat табличные данные и y выходной вектор должен иметь тот же знак, смещение и дробный наклон.

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

Параметры

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

Основная вкладка

Блок вычисляет выведенный путем применения Lookup Method, который вы выбираете к входным векторам данных о точке останова (xdat) и табличные данные (ydat). Для получения дополнительной информации смотрите, Как Блок Генерирует Выход.

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

Параметры блоков: LookUpMeth
Ввод: символьный вектор
Значения: 'Interpolation-Extrapolation' | 'Interpolation-Use End Values' | 'Use Input Nearest' | 'Use Input Below' | 'Use Input Above'
Значение по умолчанию: 'Interpolation-Use End Values'

Вкладка атрибутов сигнала

Задайте тип данных выходного сигнала y.

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

Зависимости

ydat табличные данные и y выходной вектор должен иметь тот же знак, смещение и дробный наклон.

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

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | <data type expression>
Значение по умолчанию: 'double'

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

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

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

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

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

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

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

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

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

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

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

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

Типы данных

Boolean | double | fixed point | integer | single

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

no

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

yes

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

no

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

no

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

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

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

Представлено до R2006a