Prelookup
Вычисляет номер и долю интервала для интерполяции.
Тип: PreLookup
Путь в библиотеке:
|
Описание
Блок Prelookup вычисляет номер и дробь для интервала, которые определяют, как его входное значение соотносится с набором опорных точек.
Блок Prelookup лучше всего работает с блоком Interpolation Using Prelookup. Подайте полученные значения номера и дроби в блок Interpolation Using Prelookup для интерполяции n-мерной таблицы. Эти два блока имеют распределенные алгоритмы. При объединении вместе они выполняют ту же операцию, что и интегрированный алгоритм в блоке n-D Lookup Table. Однако блоки Prelookup и Interpolation Using Prelookup обеспечивают большую гибкость и более эффективное моделирование и генерацию кода, чем блок n-D Lookup Table.
Поддерживаемые операции с блоками
Чтобы использовать блок Prelookup, необходимо указать набор значений опорных точек. При этом можно выбрать, указать ли значения опорных точек непосредственно в диалоговом окне или передать их через порт ввода bp, установив для параметра Source значение Dialog
или Input port
.
Обычно набор данных опорных точек соответствует одному измерению табличных данных в блоке Interpolation Using Prelookup.
Блок Prelookup генерирует пару выходов для каждого входного значения путем вычисления:
-
номера опорной точки, значение который меньше или равно и образует интервал, содержащий .
-
доли интервала (дроби) в диапазоне , представляющей нормализованное положение на интервале между опорной точкой с найденным номером и следующей опорной точкой.
Номер отсчитывается от нуля или от единицы в зависимости от значения параметра Indexing Mode:
-
Zero-based indexing
— индексация опорных точек начинается с0
. Пример: если набор опорных точек равен[0 5 10 20 50 100]
и входное значение равно55
, то номер равен4
, а доля интервала —0.1
. -
One-based indexing
— индексация опорных точек начинается с1
. Пример: если набор опорных точек равен[0 5 10 20 50 100]
и входное значение равно55
, то номер равен5
, а доля интервала —0.1
.
Доля интервала может быть отрицательной или больше 1
в случае выхода входного сигнала за пределы диапазона.
Порты
Вход
#
u
—
входной сигнал u
вектор
Details
Блок Prelookup принимает сигналы с вещественными значениями любого числового типа данных, поддерживаемого Engee, кроме Bool
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
u
—
входной сигнал u
скаляр
| вектор
| матрица
Details
Блок Prelookup принимает сигналы с вещественными значениями любого числового типа данных, поддерживаемого Engee, кроме Bool
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
bp
—
опорные точки
вектор
Details
Блок Prelookup принимает в качестве опорных точек сигналы с вещественными значениями любого числового типа данных, поддерживаемого Engee, кроме Bool
.
Зависимости
Чтобы использовать этот порт, установите для параметра Source значение Input port
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Выход
#
k
—
номер интервала, содержащего входной сигнал u
скаляр
| вектор
| матрица
Details
Номер является целым вещественным числом, определяющим интервал, содержащий входной сигнал .
Номер отсчитывается от нуля или от единицы в зависимости от значения параметра Indexing Mode.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
f
—
дробь, представляющая нормализованное положение входа в интервале
скаляр
| вектор
| матрица
Details
Дробь представляет нормализованное положение входа в интервале .
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Данные опорных точек
#
Source —
источник значений для опорных точек
Dialog
| Input port
Details
Источник значений опорных точек:
-
Dialog
— значения опорных точек заданны в параметре Value. -
Input port
— значения опорных точек будут получены через соответствующий входной
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Value —
значения опорных точек
Array of real numbers
Details
Опорные точки. Набор опорных точек должен представлять собой строго монотонно возрастающий вектор, содержащий два или более элементов.
Зависимости
Чтобы использовать этот параметр, установите для параметра Source значение Dialog
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
Indexing Mode —
метод отсчета значения номера
Zero-based indexing
| One-based indexing
Details
Значение номера отсчитывается от нуля, если установлено значение Zero-based indexing
, или от единицы если установлено значение One-based indexing
.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
Алгоритм
#
Output selection —
выходные сигналы
Index and fraction
| Index only
Details
Варианты для выбора:
-
Index only
— выводит только номер, без доли. -
Index and fraction
— выводит номер и долю в виде отдельных сигналов.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Index search method —
метод поиска номера интервала
Evenly spaced points
| Linear search
| Binary search
Details
Каждый метод поиска имеет преимущества в скорости в различных ситуациях:
-
Для равномерно расположенных опорных точек (например, 10, 20, 30 и так далее) оптимальная скорость достигается при выборе
Evenly spaced points
для расчета номеров таблицы. Этот алгоритм использует только первые две опорные точки набора для определения смещения и расстояния между остальными точками. -
Для неравномерно распределенных опорных точек рекомендуется:
-
Linear search
— если входные значения для не сильно меняются между шагами счета. -
Binary search
— если входные значения для меняются более чем на один-два интервала таблицы за один шаг счета.
-
Неоптимальный выбор метода поиска номера может привести к низкой производительности моделей, которые в значительной степени полагаются на таблицы поиска.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Extrapolation method —
способ обработки входных значений, выходящих за пределы диапазона
Clip
| Linear
Details
Метод, который используется блоком для экстраполяции значений для всех входов, выходящих за пределы диапазона набора данных опорных точек.
Подробнее о методах экстраполяции можно прочитать здесь: Методы аппроксимации значений функций
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |