LINTERP2 - линейная двумерная интерполяция

Назначение.
Функциональный блок LINTERP2 применяется для вычисления значения функции методом линейной двумерной интерполяции.
Состав структурной переменной.
Переменная со структурным типом LINTERP2 будет добавлена в локальный словарь автоматически при добавлении блока в редактор.

Алгоритм линейной двумерной интерполяции.
Двумерная линейная интерполяция позволяет вычислить значение функции f(x, y), если известны еще минимум 4 ее значения. Для расчета необходимы:
-
аргументы x1, x2, y1, y2 и значения функций f(x1, y1), f(x1, y2), f(x2, y1) и f(x2, y2);
-
аргументы x и y, для которых необходимо вычислить результат.
Результат двумерной интерполяции вычисляется в два этапа:
-
Методом линейной интерполяции определяются две вспомогательные точки вдоль оси абсцисс по формулам:


-
Проводится линейная интерполяция между двумя вспомогательными точками вдоль оси ординат по формуле:
Пример расчета методом двумерной линейной интерполяции.
-
Исходные данные:
-
VX[0, 10] - массив аргументов X

-
VY[20, 30] - массив аргументов Y

-
TF[ [30, 40], [35, 50] ] - двумерный массив значений функции f(Xi, Yi)

-
X = 4, Y = 25 - аргументы для поиска интерполированного значения.2. Вычисление первой вспомогательной точки:

3. Вычисление второй вспомогательной точки:
4. Вычисление интерполированного значения на основе двух вспомогательных точек:

Пример синтаксиса на языке ST.
//вызов функционального блока
Block.LINTERP2(X, VX, VX_SIZE, Y, VY, VY_SIZE, TF, TF_SIZE_X, TF_SIZE_Y);
//чтение выходных параметров функционального блока
F := Block.F;
FAULT := Block.FAULT;
|
Список возможных ошибок на выходе FAULT.
|
