<< Click to Display Table of Contents >> Navigation: Приложения > Библиотека OSCAT > OSCAT.Функции > OSCAT.Функции.Арифметические функции > LINEAR_INT (OSCAT) |
Функция LINEAR_INT - линейный модуль интерполяции.
Вид фукции в редакторе программ языка FBD:
Входы и выходы функции:
Название |
Тип |
Описание |
Входы |
||
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]).
Например, при PTS=3 и следующих точках XY функция LINEAR_INT(30) возвращает 70, а не 50: