Документация Engee

Lookup Table Dynamic

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

Тип: Lookup Table Dynamic

Путь в библиотеке:

/Basic/Lookup Tables/Lookup Table Dynamic

Описание

Блок Lookup Table Dynamic вычисляет аппроксимацию функции с помощью векторов xdat и ydat. Метод поиска может использовать интерполяцию, экстраполяцию или исходные значения входных данных.

Подробнее о методах интерполяции и экстраполяции можно прочитать здесь: Методы аппроксимации значений функций

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

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

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

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

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

Определение таблицы поиска

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

Как блок вычисляет выходные данные

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

Значение параметра Lookup Method Действие блока

Interpolation-Extrapolation

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

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

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

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 совпадают со значениями опорных точек.

Порты

Вход

# x — вектор входных данных
скаляр | вектор | двумерная матрица

Details

Вещественный входной сигнал.

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

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

# xdat — вектор значений опорных точек
вектор строго монотонно возрастающих значений размерностью 1 на n | матрица

Details

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

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

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

# ydat — табличные данные
вектор размерностью 1 на n

Details

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

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

Выход

# y — аппроксимация y = f(x) с помощью динамической таблицы
вектор размерностью 1 на n | скаляр

Details

Аппроксимация функции с помощью входных векторов опорных точек xdat и табличных данных ydat. Метод поиска может использовать интерполяцию, экстраполяцию или исходные значения входных данных.

Типы данных

Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool, Fixed

Поддержка комплексных чисел

Да

Параметры

Основные

# Lookup Method — метод поиска
Interpolation-Extrapolation | Interpolation-Use End Values | Use Input Nearest | Use Input Below | Use Input Above

Details

Блок вычисляет выходные данные, применяя выбранный метод Lookup Method к входным векторам опорных точек xdat и табличных данных ydat. Подробнее см. в разделе Как блок вычисляет выходные данные.

Значения

Interpolation-Extrapolation | Interpolation-Use End Values | Use Input Nearest | Use Input Below | Use Input Above

Значение по умолчанию

Interpolation-Use End Values

Имя для программного использования

LookUpMeth

Настраиваемый

Нет

Вычисляемый

Нет

Атрибуты сигнала

# Output data type — тип выходных данных
Float64 | Float32 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Bool | Fixed-point

Details

Укажите тип выходных данных.

Значения

Float64 | Float32 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Bool | Fixed-point

Значение по умолчанию

Float64

Имя для программного использования

OutDataTypeStr

Настраиваемый

Нет

Вычисляемый

Нет

# Output fixed-point type — тип выходных данных с фиксированной точкой
Data type

Details

Укажите тип выходных данных с фиксированной точкой.

Зависимости

Чтобы использовать этот параметр, укажите для параметра Output data type значение Fixed-point.

Значение по умолчанию

fixdt(1, 16, 0)

Имя для программного использования

OutDataTypeStrFixed

Настраиваемый

Нет

Вычисляемый

Да

# Integer rounding mode — режим округления для операций с фиксированной точкой
Ceiling | Convergent | Floor | Nearest | Round | Zero

Details

Выберите режим округления для операций с фиксированной точкой. Вы можете выбрать:

  • Floor — округляет как положительные, так и отрицательные числа в меньшую сторону (в сторону отрицательной бесконечности).

  • Ceiling — округляет как положительные, так и отрицательные числа в большую сторону (в сторону положительной бесконечности).

  • Convergent — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется до ближайшего четного целого числа.

  • Nearest — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется в большую сторону (в сторону положительной бесконечности).

  • Round — округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, положительные числа округляются в большую сторону (в сторону положительной бесконечности), а отрицательные – в меньшую (в сторону отрицательной бесконечности).

  • Zero — округляет число в сторону нуля.

Параметры блока всегда округляют до ближайшего представимого значения.

Значения

Ceiling | Convergent | Floor | Nearest | Round | Zero

Значение по умолчанию

Floor

Имя для программного использования

RndMeth

Настраиваемый

Нет

Вычисляемый

Нет

# Saturate to max or to min when overflows occur — насыщение до целого при переполнении
Logical

Details

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

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

Значение по умолчанию

false (выключено)

Имя для программного использования

DoSatur

Настраиваемый

Нет

Вычисляемый

Нет