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

Interpolation Using Prelookup

Использование заранее вычисленных значений индексов и дробей для ускорения аппроксимации N-мерной функции.

interpolation using prelookup

Описание

Блок Interpolation Using Prelookup наиболее эффективен при использовании блока Prelookup. Блок Prelookup вычисляет индекс и долю интервала, которые определяют, как его входное значение u относится к набору данных точек разрыва. Полученные значения индекса и дроби подаются в блок Interpolation Using Prelookup для интерполяции n-мерной таблицы. Оба блока имеют интегрированные алгоритмы.

Значок блока изменятся в зависимости от выставленных параметров.

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

Для использования блока Interpolation Using Prelookup необходимо задать набор значений табличных данных непосредственно в диалоговом окне. Как правило, эти табличные значения соответствуют наборам данных точек разрыва, заданных в блоках Prelookup. Блок Interpolation Using Prelookup формирует выходные данные путем поиска или оценки табличных значений на основе значений индекса и доли интервала, подаваемых из блоков Prelookup. Метки для индекса и долю интервала отображаются как k и f на иконке блока Interpolation Using Prelookup.

При вводе значений индекса и доли интервала…​ Блок Interpolation Using Prelookup…​

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

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

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

Интерполирует соответствующие табличные значения с помощью выбранного метода интерполяции

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

Экстраполирует выходное значение с помощью выбранного метода экстраполяции

Порты

Вход

k1 — индекс, k, для первой размерности таблицы
скаляр | вектор | матрица

Индекс с первым значением, k, задающий интервал, содержащий входное значение u, для первой размерности таблицы.

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

f1 — дробь, f, для первой размерности таблицы
скаляр | вектор | матрица

Дробь f, представляющая нормированное положение входа в интервале k для первой размерности таблицы.

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

kn — индекс, k, для n-й размерности таблицы
скаляр | вектор | матрица

Индекс с первым значением, k, задающий интервал, содержащий входное значение u для n-й размерности таблицы.

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

fn — дробь, f, для n-й размерности таблицы
скаляр | вектор | матрица

Дробь, f, представляющая нормированное положение входа в интервале k для n-й размерности таблицы.

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

Выход

Port_1 — аппроксимация N-мерной функции
скаляр | вектор | матрица

Аппроксимация N-мерной функции, вычисляемая путем интерполяции (или экстраполяции) табличных данных по значениям входного индекса, k, и дроби, f.

Типы данных: Float64

Параметры

Number of dimensions — размерность данных таблицы
2 (по умолчанию) | целое число от 1 до 30

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

Максимальная размерность таблицы, поддерживаемая этим блоком, равна 30.

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

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

NumberOfTableDimensions

Значения

1 | 2 | 3 |4 | …​ | 30

По умолчанию

2

Value — значения табличных данных
sqrt.(collect(1:11) * collect(1:11)') (по умолчанию) | многомерный массив табличных данных

Задание табличных данных в виде N-мерного массива, где N — значение параметра Number of dimensions.

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

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

Table

Значения

скаляр | вектор | матрица | многомерный массив

По умолчанию

sqrt.(collect(1:11) * collect(1:11)')

Interpolation method — способ интерполяции
Linear point-slope (по умолчанию) | Flat | Nearest | Linear Lagrange

Метод, которым блок интерполирует данные таблицы.

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

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

InterpMethod

Значения

Linear point-slope | Flat | Nearest | Linear Lagrange

По умолчанию

Linear point-slope

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

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

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

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

Чтобы блоки Prelookup и Interpolation Using Prelookup повторяли поведение блока n-D Lookup Table, метод экстраполяции для обоих блоков Prelookup и Interpolation Using Prelookup должен быть таким же, как и при использовании только блока n-D Lookup Table.

Например, чтобы получить такое же поведение блока n-D Lookup Table с методом экстраполяции, установленным на Linear, установите метод экстраполяции на Linear как для блока Prelookup, так и для блока Interpolation Using Prelookup.

Зависимости

Чтобы использовать параметр Extrapolation method, установите для параметра Interpolation method значение Linear; в противном случае будет выдаваться специальная ошибка.

Блок Interpolation Using Prelookup не поддерживает линейную экстраполяцию, если входные или выходные сигналы имеют тип данных с фиксированной точкой.

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

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

ExtrapMethod

Значения

Linear | Clip

По умолчанию

Linear