Программирование формулы Лагранжа

Свернем формулу Лагранжа (11.6). В результате получим

где

но при этом обязательно выполнение условия .

При построении алгоритма используют конструкцию из двух включенных циклов:

Внешним циклом накапливаем сумму .

Внутренним циклом накапливаем произведение .

Алгоритм (рис.11.3) не предусматривает получение интерполяционного многочлена в явном виде, а сразу решает задачу интерполирования функции в заданной точке, x=D.

Обозначения в алгоритме:

n - степень интерполяционного многочлена Лагранжа (11.6), равная количеству узловых точек N минус один, т.е. n=N-1.

D - значение аргумента в точке, для которой решается задача интерполирования табличной функции (11.1).

L - значение многочлена (11.6).


Рис. 11.3. Схема алгоритма интерполяции по Лагранжу


Интерполяция по Ньютону

Дана табличная функция:

i xi yi
0 x0 y0
1 x1 y1
2 x2 y2
... ... ...
n xn yn

или

(11.1)

Точки с координатами (xi, yi) называются узловыми точками или узлами.

Количество узлов в табличной функции равно

N=n+1.

Необходимо найти значение этой функции в промежуточной точке, например, x=D, причем .

Для решения задачи строим интерполяционный многочлен.

Интерполяционный многочлен по формуле Ньютона имеет вид:

(11.7)

где

n - степень многочлена,

- разделенные разности 0-го, 1-го, 2-го,:., n-го порядка, соответственно.

Разделенные разности

Значения f(x0), f(x1),:, f(xn), т.е. значения табличной функции в узлах, называются разделенными разностями нулевого порядка (k=0).

Отношение называется разделенной разностью первого порядка (k=1) на участке [x0, x1] и равно разности разделенных разностей нулевого порядка на концах участка [x0, x1], разделенной на длину этого участка.

Для произвольного участка [xi, xi+1] разделенная разность первого порядка (k=1) равна

Отношение называется разделенной разностью второго порядка (k=2) на участке [x0, x2] и равно разности разделенных разностей первого порядка, разделенной на длину участка [x0, x2].

Для произвольного участка [xi, xi+2] разделенная разность второго порядка (k=2) равна

Таким образом, разделенная разность k-го порядка на участке [xi, xi+k] может быть определена через разделенные разности (k-1)-го порядка по рекуррентной формуле:

(11.8)

где

n - степень многочлена.

Максимальное значение k равно n. Тогда i =0 и разделенная разность n-го порядка на участке [x0,xn] равна , т.е. равна разности разделенных разностей (n-1)-го порядка, разделенной на длину участка [x0,xn].

Разделенные разности являются вполне определенными числами, поэтому выражение (11.7) действительно является алгебраическим многочленом n-й степени. При этом в многочлене (11.7) все разделенные разности определены для участков [x0, x0+k], .

Лемма: алгебраический многочлен (11.7), построенный по формулам Ньютона, действительно является интерполяционным многочленом, т.е. значение многочлена в узловых точках равно значению табличной функции

Докажем это. Пусть х=х0, тогда многочлен (11.7) равен

Пусть х=х1, тогда многочлен (11.7) равен

Пусть х=х2, тогда многочлен (11.7) равен

Заметим, что решение задачи интерполяции по Ньютону имеет некоторые преимущества по сравнению с решением задачи интерполяции по Лагранжу. Каждое слагаемое интерполяционного многочлена Лагранжа зависит от всех значений табличной функции yi, i=0,1,:n. Поэтому при изменении количества узловых точек N и степени многочлена n (n=N-1) интерполяционный многочлен Лагранжа требуется строить заново. В многочлене Ньютона при изменении количества узловых точек N и степени многочлена n требуется только добавить или отбросить соответствующее число стандартных слагаемых в формуле Ньютона (11.7). Это удобно на практике и ускоряет процесс вычислений.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: