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

1-D Lookup Table (mod.)

Приближенная одномерная функция.

1 d lookup table

Описание

Поддерживаемые операции с блоками

Блок 1-D Lookup Table вычисляет приближенное значение некоторой функции:

,

где функция может быть эмпирической.

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

Блок поддерживает следующие методы интерполяции: flat, linear point-slope, linear Lagrange, nearest, cubic-spline и Akima spline.

Задание опорных точек и таблицы выходных значений

Эти параметры блока задают значения для опорных точек и таблицы выходных значений.

Параметр блока Назначение

Breakpoints

Задает вектор опорных точек.

Table data

Определяет соответствующий набор выходных значений.

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

Блок 1-D Lookup Table генерирует выходные данные поиском по таблице или путем оценки значений на основе входных значений.

Входные данные блока Поведение блока 1-D Lookup Table

Совпадают со значениями в наборах данных опорных точек

Выводит табличное значение

Не совпадают со значениями в наборах данных опорных точек, но находятся в пределах диапазона

Интерполирует соответствующие значения таблицы, используя выбранный Interpolation method

Не совпадают со значениями в наборах данных опорных точек и находятся вне диапазона

Экстраполирует выходное значение, используя выбранный Extrapolation method

Порты

Вход

Port_1 — входной сигнал
скаляр | вектор | матрица

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

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выход

Port_1 — выходной сигнал, вычисленный путем поиска или оценки значений таблицы
скаляр | вектор| матрица

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

Когда входные данные блока…​ То блок 1-D Lookup Table…​

Совпадают со значениями в наборах данных опорных точек

Выводит табличное значение

Не совпадают со значениями в наборах данных опорных точек, но находятся в пределах диапазона

Интерполирует соответствующие значения таблицы, используя выбранный Interpolation method

Не совпадают со значениями в наборах данных опорных точек и находятся вне диапазона

Экстраполирует выходное значение, используя выбранный Extrapolation method

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Параметры

Interpolation method — способ интерполяции между значениями опорных точек
Linear point-slope (по умолчанию) | Flat | Nearest | Linear Lagrange | Cubic spline | Akima spline

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

Зависимости

  • Если вы выберете Akima spline, методом экстраполяции может быть только Akima spline.

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

Параметр блока

InterpMethod

Значения

Linear point-slope | Flat | Nearest | Linear Lagrange | Cubic spline | Akima spline

По умолчанию

Linear point-slope

Extrapolation method — способ обработки входных значений, которые выходят за пределы диапазона набора данных опорные точки
Linear (по умолчанию) | Clip | Cubic spline | Akima spline

Варианты: Clip, Linear или Cubic spline.

Если задан метод экстраполяции Linear, то значение вычисляется путем линейной интерполяции.

Зависимости

  • Чтобы выбрать Cubic spline для Extrapolation method, необходимо также выбрать Cubic spline для Interpolation method.

  • Чтобы выбрать Akima spline для Extrapolation method, вы также должны выбрать Akima spline для Interpolation method.

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

Параметр блока

ExtrapMethod

Значения

Linear | Clip | Cubic spline | Akima spline

По умолчанию

Linear

Number of table dimensions — количество измерений таблицы
1 (по умолчанию)

Введите количество измерений в таблице. Этот параметр определяет:

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

  • Количество полей (параметр Breakpoints <n>) для указания наборов опорных точек.

В настоящий момент блок поддерживает только размерность 1.

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

Параметр блока

NumberOfTableDimensions

Значения

1

По умолчанию

1

Table data — таблица выходных значений
[0.0, 1.0] (по умолчанию)

Таблица выходных значений.

Во время моделирования размер матрицы должен соответствовать размерам, определенным параметром Number of table dimensions таблицы.

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

Параметр блока

Table

Значения

vector

По умолчанию

[0.0, 1.0]

Breakpoints 1 — значения опорных точек для первого измерения
[0.0, 1.0] (по умолчанию)

Опорные точки для первого измерения.

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

Параметр блока

BreakpointsForDimension1

Значения

vector

По умолчанию

[0.0, 1.0]

Типы данных

Table data — тип данных таблицы
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool

Укажите тип данных таблицы.

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

Параметр блока

TableDataTypeStr

Тип

вектор символов

Значения

Float 64 | Float 32| Float 16| Int8 | Int16 | Int32 | Int64 | Uint8 | Uint16 | Uint32 | Uint64 |Bool

По умолчанию

Float 64

Breakpoints — тип данных точки останова
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool

Укажите тип данных для набора данных точек останова.

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

Параметр блока

BreakpointsForDimension1DataTypeStr | BreakpointsForDimension2DataTypeStr |…​

Тип

вектор символов

Значения

Float 64 | Float 32| Float 16| Int8 | Int16 | Int32 | Int64 | Uint8 | Uint16 | Uint32 | Uint64 |Bool

По умолчанию

Float 64

Fraction — тип данных дроби
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool

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

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

Параметр блока

FractionDataTypeStr

Тип

вектор символов

Значения

Float 64 | Float 32| Float 16| Int8 | Int16 | Int32 | Int64 | Uint8 | Uint16 | Uint32 | Uint64 |Bool

По умолчанию

Float 64

Intermediate results — тип данных промежуточных результатов
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool

Укажите тип данных промежуточных результатов.

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

Параметр блока

IntermediateResultsDataTypeStr

Тип

вектор символов

Значения

Float 64 | Float 32| Float 16| Int8 | Int16 | Int32 | Int64 | Uint8 | Uint16 | Uint32 | Uint64 |Bool

По умолчанию

Float 64

Output — тип выходных данных
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool

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

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

Параметр блока

OutDataTypeStr

Тип

вектор символов

Значения

Float 64 | Float 32| Float 16| Int8 | Int16 | Int32 | Int64 | Uint8 | Uint16 | Uint32 | Uint64 |Bool

По умолчанию

Float 64

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

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

Эта опция не влияет на округление значений параметров блока.

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

Параметр блока

RndMeth

Тип

вектор символов

Значения

Simplest | Ceiling | Convergent | Floor | Nearest | Round | Zero

По умолчанию

Simplest

Saturate on integer overflow — метод действия при переполнении
off (по умолчанию) | on
Действие Причины для принятия этого решения Что происходит при переполнении Пример

Установите этот флажок(on).

В вашей модели возможно переполнение, и вам нужна явная защита от насыщения в генерируемом коде.

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

Переполнение, связанное со знаковым 8-битным целым числом, может насытиться до -128 или 127

Не устанавливайте этот флажок(off)

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

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

Число 130 не помещается в знаковое 8-битное целое число и сворачивается в -126

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

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

Параметр блока

SaturateOnIntegerOverflow

Тип

вектор символов

Значения

off | on

По умолчанию

off