LINEAR_INT (OSCAT)

<< Click to Display Table of Contents >>

Navigation:  Приложения > Библиотека OSCAT > OSCAT.Функции > OSCAT.Функции.Арифметические функции >

LINEAR_INT (OSCAT)

Функция LINEAR_INT - линейный модуль интерполяции.

Вид фукции в редакторе программ языка FBD:

LINEAR_INT_OSCAT

Входы и выходы функции:

Название

Тип

Описание

Входы

X

REAL

Вход функции, где задается значение аргумента.

XY

ARRAY [1..20, 1..2] OF REAL

Вход функции, где задается массив узловых точек.

Pts

INT

Вход функции, где задается число используемых узловых точек (3..20).

Выходы

Q

REAL

Выход функции, где выдается линейно интерполированное значение Y для X.

С помощью XY и PTS отрезок (XY[1,0], XY[PTS,0] оси X разбивается на (PTS-1) интервалов (при максимально возможном PTS число интервалов равно 19). В каждом интервале LINEAR_INT работает так же, как F_LIN (OSCAT), т.е. вычисляет линейно-интерполированное значение ординаты по абсциссе (X).

При X<XY[1,0] функция LINEAR_INT возвращает ординату как результат экстраполяции по прямой, заданной на первом интервале, т.е. точками (XY[1,0], XY[1,1) и (XY[2,0], XY[2,1]).

При X>XY[PTS,0] функция LINEAR_INT возвращает ординату как результат экстраполяции по прямой, заданной на последнем интервале, т.е. точками (XY[PTS-1,0], XY[PTS-1,1]) и (XY[PTS,0], XY[PTS,1]).

Пример в ST

Например, при PTS=3 и следующих точках XY функция LINEAR_INT(30) возвращает 70, а не 50:

LINEAR_INT_OSCAT_1