Lookup Table Dynamic
Аппроксимация одномерной функции с помощью динамической таблицы.
Описание
Чем этот блок отличается от других блоков с таблицами поиска
Блок Lookup Table Dynamic вычисляет аппроксимацию функции с помощью векторов xdat
и ydat
. Метод поиска может использовать интерполяцию, экстраполяцию или исходные значения входных данных.
Используя блок Lookup Table Dynamic, можно изменить данные таблицы, не останавливая моделирование. Например, можно добавить новые данные в таблицу, если изменится физическая система, которая моделируется.
Входные данные для контрольных точек и данных таблицы
Вектор xdat
— это вектор, содержащий значения опорных точек, которые должны быть строго монотонно возрастающими.
Вектор ydat
— это табличные данные, которые представляют собой значение функции в опорных точках.
Входные данные xdat и ydat не могут быть скаляром (одноэлементным массивом). Если ввести для любого из них скалярное значение, то при моделировании будет выводиться сообщение об ошибке.
|
Определение таблицы поиска
Определение таблицы поиска производится путем задания входных векторов xdat
и ydat
. Чтобы сократить использование памяти только в генерируемом коде для этого блока, можно использовать различные типы данных для xdat
и ydat
.
Как блок вычисляет выходные данные
Блок использует входные значения для вычисления выходных данных, используя метод, который выбран в параметре Lookup Method:
Значение параметра Lookup Method | Действие блока |
---|---|
|
Выполняет линейную интерполяцию и экстраполяцию входных данных.
|
|
Выполняет линейную интерполяцию, но не экстраполирует за пределы конечных значений опорных точек. Вместо этого блок использует крайние значения. |
|
Находит ближайший к текущему входному значению элемент в |
|
Находит ближайший к текущему входному значению и расположенный ниже него элемент в |
|
Находит ближайший к текущему входному значению и расположенный выше него элемент в |
Методы Use Input Nearest , Use Input Below и Use Input Above выполняют одно и то же действие, когда значения входного вектора x совпадают со значениями опорных точек.
|
Порты
Вход
x — вектор входных данных
скаляр
| вектор
| двумерная матрица
Вещественный входной сигнал.
Входной вектор x
и вектор опорных точек xdat
должны иметь одинаковый тип по знаку, смещению и дробному наклону. Кроме того, точность и диапазон для типа данных x
должны быть больше или равны точности и диапазону для xdat
.
Типы данных: Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Bool
, Fixed
Поддержка комплексных чисел: Нет
xdat — вектор значений опорных точек
вектор строго монотонно возрастающих значений размерностью 1 на n
| матрица
Вектор xdat
— это вектор, содержащий значения опорных точек, которые должны быть строго монотонно возрастающими.
Входной вектор x
и вектор опорных точек xdat
должны иметь одинаковый тип по знаку, смещению и дробному наклону. Кроме того, точность и диапазон для типа данных x
должны быть больше или равны точности и диапазону для xdat
.
Типы данных: Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Bool
, Fixed
ydat — табличные данные
вектор размерностью 1 на n
Вектор ydat
— это вектор размерностью 1 на вещественных или комплексных табличных данных, которые представляют собой значение функции в опорных точках.
Типы данных: Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Bool
, Fixed
Поддержка комплексных чисел: Да
Выход
y — аппроксимация y = f(x) с помощью динамической таблицы
вектор размерностью 1 на n
| скаляр
Аппроксимация функции с помощью входных векторов контрольных точек xdat
и табличных данных ydat
. Метод поиска может использовать интерполяцию, экстраполяцию или исходные значения входных данных.
Типы данных: Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Bool
, Fixed
Параметры
Main
Lookup Method — метод поиска
Interpolation-Use End Values
(по умолчанию) | Interpolation-Extrapolation
| Use Input Nearest
| Use Input Below
| Use Input Above
Блок вычисляет выходные данные, применяя выбранный метод поиска Lookup Method к входным векторам опорных точек xdat
и табличных данных ydat
. Подробнее см. в разделе Как блок вычисляет выходные данные.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Signal Attributes
Output data type — тип выходных данных
Float64 (по умолчанию)
| Float32
| Int8
| Int16
| Int32
| Int64
| Int128
| UInt8
| UInt16
| UInt32
| UInt64
| UInt128
| Bool
| Fixed point
Укажите тип выходных данных.
Параметр блока: |
|
Значение: |
|
По умолчанию: |
|
Integer rounding mode — режим округления для операций с фиксированной точкой
Floor (по умолчанию)
| Ceiling
| Convergent
| Nearest
| Round
| Zero
Выберите режим округления для операций с фиксированной точкой. Вы можете выбрать:
-
Floor
— округляет как положительные, так и отрицательные числа в меньшую сторону (в сторону отрицательной бесконечности). -
Ceiling
— округляет как положительные, так и отрицательные числа в большую сторону (в сторону положительной бесконечности). -
Convergent
— округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется до ближайшего четного целого числа. -
Nearest
— округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется в большую сторону (в сторону положительной бесконечности). -
Round
— округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, положительные числа округляются в большую сторону (в сторону положительной бесконечности), а отрицательные – в меньшую (в сторону отрицательной бесконечности).
-
Zero
— округляет число в сторону нуля.
Параметры блока всегда округляют до ближайшего представимого значения.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Saturate to max or min when overflows occur — насыщение до целого при переполнении
выключено (по умолчанию)
| включено
При установке этого флажка переполнения насыщаются до максимального или минимального значения, которое может представлять данный тип данных. В противном случае переполнения оборачиваются в соответствующее значение, которое может быть представлено типом данных.
При установке этого флажка насыщение применяется ко всем внутренним операциям блока, а не только к выходу или результату.
Параметр блока |
|
Значения |
|
По умолчанию |
|