1-D Lookup Table (mod.)
Приближенная одномерная функция.
Описание
Поддерживаемые операции с блоками
Блок 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
.
Параметр блока |
|
Значения |
|
По умолчанию |
|
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.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Number of table dimensions — количество измерений таблицы
1 (по умолчанию)
Введите количество измерений в таблице. Этот параметр определяет:
-
Количество независимых переменных для таблицы и количество входных данных блока
-
Количество полей (параметр Breakpoints <n>) для указания наборов опорных точек.
В настоящий момент блок поддерживает только размерность 1.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Table data — таблица выходных значений
[0.0, 1.0] (по умолчанию)
Таблица выходных значений.
Во время моделирования размер матрицы должен соответствовать размерам, определенным параметром Number of table dimensions таблицы.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Breakpoints 1 — значения опорных точек для первого измерения
[0.0, 1.0] (по умолчанию)
Опорные точки для первого измерения.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Типы данных
Table data — тип данных таблицы
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool
Укажите тип данных таблицы.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|
Breakpoints — тип данных точки останова
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool
Укажите тип данных для набора данных точек останова.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|
Fraction — тип данных дроби
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool
Укажите тип данных дроби.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|
Intermediate results — тип данных промежуточных результатов
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool
Укажите тип данных промежуточных результатов.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|
Output — тип выходных данных
Float64(по умолчанию) | Float16 | Float32 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64| Bool
Укажите тип выходных данных.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|
Integer rounding mode — режим округления для операций с фиксированной точкой
Simplest (по умолчанию) | Ceiling | Convergent | Floor | Nearest | Round | Zero
Укажите режим округления для вычислений в таблице поиска с фиксированной точкой, которые происходят во время моделирования или выполнения кода, сгенерированного на основе модели.
Эта опция не влияет на округление значений параметров блока.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|
Saturate on integer overflow — метод действия при переполнении
off (по умолчанию) | on
Действие | Причины для принятия этого решения | Что происходит при переполнении | Пример |
---|---|---|---|
Установите этот флажок( |
В вашей модели возможно переполнение, и вам нужна явная защита от насыщения в генерируемом коде. |
Переполнения насыщаются до минимального или максимального значения, которое может представлять данный тип данных |
Переполнение, связанное со знаковым 8-битным целым числом, может насытиться до -128 или 127 |
Не устанавливайте этот флажок( |
Вы хотите оптимизировать эффективность генерируемого кода. |
Переполнения оборачиваются в соответствующее значение, которое может быть представлено типом данных |
Число 130 не помещается в знаковое 8-битное целое число и сворачивается в -126 |
При установке этого флажка насыщение применяется ко всем внутренним операциям блока, а не только к выходу или результату. Как правило, процесс генерации кода может определить, когда переполнение невозможно. В этом случае генератор кода не создает насыщенный код.
Параметр блока |
|
Тип |
|
Значения |
|
По умолчанию |
|