logo
для вялички / TROPA V MATLAB_21

7.19 Интерполяционный полином Лагранжа

Предположим, что некоторая функция f(x) задана таблицей своих значений:

x

x0

x1

xn

y

y0

y1

yn

Требуется найти интерполяционный полином Лагранжа многочлен Ln(x) степени не выше n, значения которого в точках xk совпадают со значениями данной функции в этих точках, т.е. Ln(xk) = yk, k = 0,…, n.

Для нахождения интерполяционного полинома Лагранжа в Maple служит команда interp.

Пример:

Найти интерполяционный полином Лагранжа функции f(x)

x

0

1

3

7

y

5

4

2

1

Решение:

>> syms x

>> maple('interp([0,1,3,7],[5,4,2,1],x)')

ans =

1/56*x^3-1/14*x^2-53/56*x+5

Построим на рис. 7.7 узлы интерполяции (команда stem) и график найденного интерполяционного полинома Лагранжа

L3(x) = x3 - x2 - x+5:

>> stem([0 1 3 7],[5 4 2 1],'fill')

>> hold

Current plot held

>> ezplot(ans,-1, 8)

>>grid

Рис. 7.7

Как видим из рис. 7.7, график найденного интерполяционного полинома Лагранжа проходит через узлы интерполирования

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4