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

Параметры интерполяции

Вычисляет номер и долю интервала для интерполяции.

prelookup

Описание

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

Блок Параметры интерполяции лучше всего работает с блоком Интерполяция с заданными параметрами. Подайте полученные значения номера и дроби в блок Интерполяция с заданными параметрами для интерполяции n-мерной таблицы. Эти два блока имеют распределенные алгоритмы. При объединении вместе они выполняют ту же операцию, что и интегрированный алгоритм в блоке Табличная функция нескольких переменных. Однако блоки Параметры интерполяции и Интерполяция с заданными параметрами обеспечивают большую гибкость и более эффективное моделирование и генерацию кода, чем блок Табличная функция нескольких переменных.

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

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

Обычно набор данных опорных точек соответствует одному измерению табличных данных в блоке Интерполяция с заданными параметрами.

Блок Параметры интерполяции генерирует пару выходов для каждого входного значения путем вычисления:

  • номера опорной точки, значение который меньше или равно и образует интервал, содержащий .

  • доли интервала (дроби) в диапазоне , представляющей нормализованное положение на интервале между опорной точкой с найденным номером и следующей опорной точкой.

Номер отсчитывается от нуля или от единицы в зависимости от значения параметра Режим нумерации:

  • Нумерация с нуля — индексация опорных точек начинается с 0. Пример: если набор опорных точек равен [0 5 10 20 50 100] и входное значение равно 55, то номер равен 4, а доля интервала — 0.1.

  • Нумерация с единицы — индексация опорных точек начинается с 1. Пример: если набор опорных точек равен [0 5 10 20 50 100] и входное значение равно 55, то номер равен 5, а доля интервала — 0.1.

Доля интервала может быть отрицательной или больше 1 в случае выхода входного сигнала за пределы диапазона.

Порты

Вход

# u — входной сигнал u
вектор

Details

Блок Параметры интерполяции принимает сигналы с вещественными значениями любого числового типа данных, поддерживаемого Engee, кроме Bool.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, UInt128

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

Нет

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

Details

Блок Параметры интерполяции принимает сигналы с вещественными значениями любого числового типа данных, поддерживаемого Engee, кроме Bool.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, UInt128

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

Нет

# bp — опорные точки
вектор

Details

Блок Параметры интерполяции принимает в качестве опорных точек сигналы с вещественными значениями любого числового типа данных, поддерживаемого Engee, кроме Bool.

Зависимости

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, UInt128

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

Нет

Выход

# k — номер интервала, содержащего входной сигнал u
скаляр | вектор | матрица

Details

Номер является целым вещественным числом, определяющим интервал, содержащий входной сигнал .

Номер отсчитывается от нуля или от единицы в зависимости от значения параметра Режим нумерации.

Типы данных

Float64

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

Нет

# f — дробь, представляющая нормализованное положение входа в интервале
скаляр | вектор | матрица

Details

Дробь представляет нормализованное положение входа в интервале .

Типы данных

Float64

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

Нет

Параметры

Данные опорных точек

# Источник — источник значений для опорных точек
Поле ввода | Входной порт

Details

Источник значений опорных точек:

  • Поле ввода — значения опорных точек заданны в параметре Value.

  • Входной порт — значения опорных точек будут получены через соответствующий входной

Значения

Dialog | Input port

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

Dialog

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

BreakpointsDataSource

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

Нет

# Значение — значения опорных точек
Массив вещественных чисел

Details

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

Зависимости

Чтобы использовать этот параметр, установите для параметра Источник значение Поле ввода.

Значения

Array of real numbers

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

10:10:110

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

BreakpointsData

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

Да

# Режим нумерации — метод отсчета значения номера
Нумерация с нуля | Нумерация с единицы

Details

Значение номера отсчитывается от нуля, если установлено значение Нумерация с нуля, или от единицы если установлено значение Нумерация с единицы.

Значения

Zero-based indexing | One-based indexing

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

Zero-based indexing

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

IndexingMode

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

Нет

Алгоритм

# Выбор выходного сигнала — выходные сигналы
Номер и доля | Только номер

Details

Варианты для выбора:

  • Только номер — выводит только номер, без доли.

  • Номер и доля — выводит номер и долю в виде отдельных сигналов.

Значения

Index and fraction | Index only

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

Index and fraction

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

OutputSelection

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

Нет

# Метод поиска номера — метод поиска номера интервала
Равноотстоящих точек | Линейный поиск | Бинарный поиск

Details

Каждый метод поиска имеет преимущества в скорости в различных ситуациях:

  • Для равномерно расположенных опорных точек (например, 10, 20, 30 и так далее) оптимальная скорость достигается при выборе Равноотстоящих точек для расчета номеров таблицы. Этот алгоритм использует только первые две опорные точки набора для определения смещения и расстояния между остальными точками.

  • Для неравномерно распределенных опорных точек рекомендуется:

    • Линейный поиск — если входные значения для не сильно меняются между шагами счета.

    • Бинарный поиск — если входные значения для меняются более чем на один-два интервала таблицы за один шаг счета.

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

Значения

Evenly spaced points | Linear search | Binary search

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

Binary search

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

IndexSearchMethod

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

Нет

# Экстраполяция — способ обработки входных значений, выходящих за пределы диапазона
Обрезать | Линейная

Details

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

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

Значения

Clip | Linear

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

Linear

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

ExtrapMethod

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

Нет

Дополнительные возможности

Генерация Си кода: Да