Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительная математика.pdf
Скачиваний:
3
Добавлен:
24.11.2025
Размер:
3.89 Mб
Скачать

Условия сходимости для метода простой итерации остаются верными и для метода Зейделя. Рекомендации к применению метода Зейделя остаются теми же, что и для метода простой итерации.

4.4 Интерполирование алгебраическими многочленами. Интерполяционный многочлен Лагранжа

4.4.1 Постановка задачи

Часто при изучении некоторого процесса удается установить существование функциональной зависимости между величинами х и у, при этом функция y = f (x) может оставаться нам неизвестной, но на основании опыта мы знаем ее значения в точках x0 , x1, , xn , принадлежащих отрезку [a,b]. Найдем функцию, которая бы приближала (аппроксимировала) бы неизвестную функцию y = f (x) . Часто в качестве приближающих функций берутся многочлены. Они являются функциями простой природы: для вычисления их значений нужно выполнить конечное число арифметических операций, производная и неопределенный интеграл от многочлена являются многочленами. Существуют различные способы приближения функций многочленами. Одним из таких способов является метод интерполяции, который сводится к следующему.

Требуется построить многочлен Ln (x) степени не выше n, который в n +1 заданных точках x0 , x1, , xn , называемых узлами интерполяции, принимал бы заданные значения y0 , y1, , yn , т.е. искомый многочлен Ln (x) должен удовлетворять равенствам

Ln (xi ) = yi , i =

0, n

.

 

 

(1)

Подчеркнем, что узлы интерполирования не равноотстоящие.

 

Геометрически условия (1) означают, что график функции y = Ln (x)

проходит через

точки с координатами (xi , yi ) i =

 

.

 

0, n

 

136

Многочлен Ln (x) будем искать в виде

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ln (x) = Ak (x x0 ) (x xk1)(x xk+1) (x xn )

 

 

 

 

 

 

 

 

(2)

 

 

 

 

 

 

 

 

k=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где Ak

(k =

 

 

)

 

пока неопределенные коэффициенты.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0, n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выберем их так, чтобы выполнялись равенства (1). Положив в (2) x = xk

(k =

 

) ,

 

0, n

получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ak (xk x0 ) (xk xk1)(xk xk+1) (xk xn ) = yk .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Все остальные слагаемые в (2) обратятся в нуль.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ak

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

k = 0, n.

 

 

 

 

 

 

 

 

 

(xk

x0 ) (xk

xk1)(xk

xk+1) (xk xn )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставив значения Ak

в формулу (1), получим:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

(x x0 ) (x xk1)(x xk+1) (x xn )

 

 

 

 

 

 

 

 

 

 

 

 

 

Ln (x) =

 

 

 

 

 

 

yk =

 

 

 

 

 

 

 

 

(x

k

x )

(x

k

x

k1

)(x

k

x

k+1

) (x

k

x

n

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k=0

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= y

 

 

 

(x x1)(x xn ) (x xn )

 

+ y

(x x0 )(x x2 ) (x xn )

 

+ +

 

 

 

 

 

0 (x

 

 

x

 

)(x

 

 

 

x

 

) (x

 

x

 

)

 

)

 

 

 

 

 

 

0

 

0

2

0

n

 

 

 

1 (x

x

0

)(x

x

2

) (x x

n

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

+ yn

 

 

(x x0 )(x x1) (x xn1)

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x

n

x

0

 

)(x

n

x

) (x

n

x

n

1

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Коэффициенты имеют степень равную n, обращаются в 1 при x = xk и в 0 во всех дру-

гих узлах xi

 

 

 

(i k) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этот многочлен называется интерполяционным многочленом Лагранжа.

 

 

 

 

 

Покажем, что существует единственный многочлен, удовлетворяющий условиям (1).

От противного, предположим, что существует два многочлена Ln (x) и Qn (x)

степени не

выше

n,

 

 

 

удовлетворяющие

 

 

 

условиям

 

 

(1)

Ln (xi ) = yi , Qn (xi ) = yi , i =

 

, т.е.

 

 

 

 

 

 

 

 

0, n

Ln (xi ) = Qn (xi ), i =

 

. Но в силу того, что значения многочленов Ln (x)

и Qn (x)

степени не

0, n

выше n совпадают в n +1 различных точках x0 ,

x1, , xn

 

они тождественны.

 

 

 

 

 

Интерполяционный многочлен Лагранжа можно записать в более компактной форме,

если ввести обозначение:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ω(x) = (x x0 )(x x1) (x xn ).

Так как

137

n

ω′(x) = (x x0) (x xi1)(x xi+1) (x xn ), i=1

n

аω′(xk ) = (xk x0) (xk xi1)(xk xi+1) (xk xn ), i=1

n

ω(x)

 

 

Ln (x) =

 

yn

(3)

(x xn )ω′(xn )

k=0

 

 

4.4.2 Интерполяционная формула Лагранжа. Представление и оценка остатка

В узлах интерполирования значение функции y = f (x) и интерполяционного многочлена Лагранжа совпадают. Если же значение х не совпадает ни с одним из узлов интерполяции, то f (x) только приближенно равно Ln (x) . Обозначим через Rn (x) разность

n

ω(x)

 

 

Rn (x) = f (x) Ln (x) f (x) =

 

+ Rn (x)

(4)

k =0(x xk )ω (xk )

 

 

Это интерполяционная формула Лагранжа, а Rn (x) – остаточный член интерполяции. Возникает вопрос: на сколько многочлен Лагранжа близок к приближенной функции

f (x) в точках, отличных от узлов интерполирования, т.е. как велика величина Rn (x) ?

Теорема. Если функция на отрезке [a, b], содержащем узлы интерполяции дифференцируема n +1 раз, то, остаточный член интерполяционной формулы Лагранжа представим в виде

R

n

(x) = f (n+1)

(ξ)

ω(x)

 

, где ξ (a,b).

(5)

(n +1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство. Введем вспомогательную функцию:

 

 

 

ϕ(x) = f (x) Ln (x) k ω(x) ,

 

 

 

где k

параметр, который будет определен ниже. Очевидно, что ϕ(xi ) = 0,

i =

 

т.е.

0, n

функция ϕ(x) на отрезке [a,b] имеет n +1 корень в узлах интерполяции. Выберем параметр k так, чтобы функция ϕ(x) имела еще один корень в любой фиксированной точке x [a,b],

отличной от узлов интерполяции. Для этого положим f (x) Ln (x) kω(x) = 0 .

Т.к. ω(x) 0 , то k = f (x) Ln (x) .

ω(x)

При таком значении параметра k функция ϕ(x) на отрезке [a, b] будет иметь n+2 кор-

ня. Предположим, что число x лежит между узлами интерполяции xν и xν+1. Тогда функция ϕ(x) будет обращаться в нуль на концах каждого из n+1 отрезков

138

[x0, x1], [x1, x2 ], ,[xν, x][, x, xν+1], ,[xn1, xn ].

По теореме Ролля производная ϕ′(x) внутри каждого из этих отрезков обращается в нуль по крайней мере один раз, т.е. ϕ′(x) имеет на отрезке [a, b] не менее n+1 корня. Применяя теорему Ролля к производной ϕ′(x) , мы получим, что вторая производная ϕ′′(x) обращается в нуль на отрезке [a, b] не менее n раз.

Продолжая эти рассуждения дальше, мы убедимся, что ϕ(n+1) (x) на отрезке [a, b] имеет по крайней мере один корень. Обозначим его ξ.

Т.к. L (n+1) (x) 0, ω(n+1) (x) = (n +1)!

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

как многочлены степени n и n+1 соответственно, то

ϕ(n+1) (ξ) = f (n+1) (ξ) k(n +1)!= 0 .

Отсюда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (n+1) (ξ) f

(

 

) L

(

 

)

 

 

 

 

 

 

 

 

 

 

x

x

 

 

 

 

 

 

 

k =

 

 

 

 

 

=

 

 

 

 

 

n

.

 

 

 

 

 

(n +1)!

 

 

 

ω(

 

)

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

Следовательно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

) = f (n+1) (ξ)

ω(

 

)

 

 

 

 

 

f (

 

) L

(

 

x

x

x

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

(n +1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как

 

[a, b]

 

произвольно (

 

xi , i =

 

) то для всех x [a, b] и отличных от

x

 

x

0,n

узлов интерполяции справедливо равенство

R

(x) =

f (x) L

(x) =

f (n+1) (ξ)

ω(x)

, ξ (a, b) .

 

n

 

n

 

 

(n +1)!

 

 

 

 

 

А это и есть требуемое равенство (5). Справедливость его для (x = xi ,

ет из равенств ω(xi ) = 0, Rn (xi ) = 0; i = 0,n . Из (5) следует, что для x [a, b]

 

R

 

(x)

 

 

ω(x)

M

n+1

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

(n +1)!

 

 

 

 

 

 

где M n+1

= max

 

f (n+1) (x)

 

.

 

 

 

 

 

[a,b]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.4.3 Практическое применение интерполяции

i = 0,n) следу-

(6)

Интерполяционные формулы обычно используются при нахождении неизвестных значений f (x) для промежуточных значений аргумента. При этом различают интерполирование в узком смысле, когда х находится между x0 и xn , и экстраполирование, когда х нахо-

139

дится вне отрезка [x0 , xn ].

 

 

 

 

 

 

В оценку (6) входит величина M n+1

= max

 

f (n+1)

(x)

 

. Вычисление ее на практике

 

 

 

[a,b]

 

 

 

 

 

 

 

 

 

 

сложно или вовсе невозможно, если функция f (x) задана таблично. Трудность этой задачи увеличивается с возрастанием n. Более того, возрастание степени интерполяционного многочлена далеко не всегда приводит к улучшению приближенного представления функции на отрезке [a, b].

При оценке погрешности результатов должны учитываться как погрешность метода интерполяции (остаточный член), так и погрешности округления при вычислениях.

Пример. Построить многочлен Лагранжа, сделать проверку результата, применить формулу (6) для вычисления абсолютной погрешности приближенного значения 139 ,

найденного с помощью интерполяционного многочлена Лагранжа для функции y = x , выбрав узлы интерполирования x0 =121, x1 =144 , x2 =169 .

Решение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

 

121

 

144

 

169

 

 

 

 

 

 

y

 

11

 

12

 

 

13

 

 

 

L

=11

(x 144)(x 169)

+12

 

(x 121)(x 169)

 

+13

 

(x 121)(x 144)

=

 

 

 

 

 

 

 

 

2

(121144)(121

169)

 

(144 121)(144 169)

 

(169 121)(169 144)

 

 

 

 

=110411 (x2 313x + 24336) 57512 (x2 290x + 20449) +120013 (x2 265x +17424) =

=276001 (x2 (11 25 12 48 +13 23) + x(11 313 25 +12 290 + 48 13265 23) +

+(11 25 24336 12 20449 48 +13 17424 23) = 276001 (2x2 +1730x +123552) .

Проверка:

L2 (121) = 276001 (29282 + 29330 +123552)= 30360027600 =11 L2 (144) = 276001 (41472 + 249120 +123552)= 33120027600 =12 L2 (169) = 276001 (57122 + 292370 +123552)= 35880027600 =13.

В точке отличной от узлов интерполяции

L2 (139) = 276001 (38642 + 240470 +123552)= 32538027600 =11,78913043.

На калькуляторе

140

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]