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