Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вычислительная математика

..pdf
Скачиваний:
7
Добавлен:
05.02.2023
Размер:
1.87 Mб
Скачать

ние для функции y f (x) , которое затем использовать в вы-

числениях.

Рассмотрим требования, которым должна удовлетворять интерполяционная функция. Пусть R – множество веществен-

ных функций, заданных на отрезке [a,b] . Зададим на множестве R счетную систему функций i , (x)}. Построим функцию

(x) a0 0 (x) a1 1 (x) ... an n (x),

(2.1)

где a i , i 0, n – некоторые, подлежащие определению веще-

ственные коэффициенты. Система функций { i (x)} должна быть линейно независимой. Потребуем, чтобы в точках x0 , x1 , ..., xn значения функции (x) совпадали со значениями

функции f (x) , т.е.

 

(xj ) f (xj ).

(2.2)

Условие (2.2) – основное требование, которое используется при построении интерполяционных функций. В этом случае функ-

ция (x)

вида (2.1)

называется интерполирующей, а точки

x0 , x1 ,..., xn

узлами

интерполирования. В силу требования

(2.2) будем иметь систему n линейных уравнений для определения коэффициентов a0 , a1, ..., an :

n

 

 

 

ai i (xj ) f (x j ) ,

j 0, n .

i 0

 

 

 

Перепишем систему (2.3) в векторно-матричном виде:

 

 

(x )...

 

(x ) a

 

f (x )

 

0

(x0 )... n

(x0) a0

 

f (x0 )

 

0

.........

1

 

1

 

 

1

.

 

1

n

 

 

 

 

 

0

(x )...

n

(x ) a

 

f (x )

 

n

n

 

n

 

 

n

 

(2.3)

(2.4)

Система уравнений (2.4) имеет единственное решение, если определитель матрицы системы не равен нулю, т.е.

21

0 (x0 )... n (x0 )

0 (x1)... n (x1 ) 0 .

.........

0 (xn )... n (xn )

Система функций i (x) , для которой 0 при всех xi xj , где i j называется системой Чебышева.

Таким образом, первое условие, которое накладывается на функции i (x) , заключается в том, что i (x) , i 0, n должны

составлять систему Чебышева.

Второе условие, которому должна удовлетворять система функций { i } является условием полноты.

Поясним это условие. Пусть F – класс интерполируемых функций и f (x) F . Семейство линейных комбинаций (x)

вида (2.1) называется полным в классе F , если для всякой функции f (x) F и любого 0 существует такое n и такие

коэффициенты a0 , a1 , ..., an , что для всех x a,b справедливо неравенство

f (x) (x) .

Отметим также, что для построения аппроксимирующих функций кроме интерполяционной функции, построенной на основе условия (2.2), используются приближения, минимизирующие сумму квадратов отклонений аппроксимирующей функции от заданных табличных значений (см. метод наименьших квадратов п. 2.14, п. 2.16.3), и метод аппроксимации с помощью сплайн-функций (см. п. 2.13).

22

2.2.Вычисление интерполяционного многочлена по формуле Лагранжа

 

Определим

 

систему функций i

в виде i

 

 

 

 

1, x, x2 , ..., xn

 

. Эти функции являются линейно независи-

мыми. Из условия (2.2) совпадения функций

f (x) и (x) в уз-

лах имеем систему линейных алгебраических уравнений отно-

сительно коэффициентов a0 , a1 , ..., an

следующего вида

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a xi

f (x

j

) , j

0, n,

 

 

 

 

i 0

 

i j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или в матричной форме

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 x x2

...xn

a

0

 

 

 

f (x )

 

 

 

0

0

0

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

2

n

 

 

 

 

 

 

 

 

 

1 x1

x1

...x1

 

a1

 

 

f (x1 )

 

(2.5)

...........

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

a

 

 

 

 

 

f (x

 

)

 

 

1 x

n

...xn

 

n

 

 

 

 

n

 

 

 

 

n

n

 

 

 

 

 

 

 

Определить системы (2.5)

 

1 x ...xn

 

0

0

.....

 

 

1 x ...xn

 

0

n

n

(xi x j ) ,

i 0 i j

называется определителем Вандермонда и он не равен нулю, если xi xj , i, j 0, n . Таким образом, система функции { i } является системой Чебышева. По теореме Вейерштрасса функ-

n

 

 

 

 

 

 

ция (x) ai xi будет полной в классе непрерывных функ-

i 0

 

 

 

 

 

 

ций на конечном интервале [ a, b ].

 

 

 

 

Найдем решение системы (2.5), используя правило Крамера

 

i

 

 

 

 

 

a

,

i 0, n,

(2.6)

 

i

 

 

 

 

 

 

 

 

 

 

23

где i – определитель матрицы системы (2.5), в которой i -ый

столбец заменен столбцом свободных членов. Соотношение (2.6) перепишем в виде

 

 

 

n

 

 

 

 

 

f (x j ) ij

 

 

 

 

a

i 0

,

(2.7)

 

 

 

 

 

i

 

 

 

 

 

 

 

 

где ij – алгебраические дополнения элементов i -го столбца в

определителе

. Подставим (2.7) в выражение для функции

n

 

 

 

 

(x) ai xi

и приведем подобные

члены

относительно

i 0

 

 

 

 

 

 

 

f (xi ) , i 0, n . Тогда функция (x) запишется в виде

 

(x) f (x0 ) 0 (x) f (x1) 1(x) ... f (xn ) n (x),

 

 

 

 

 

(2.8)

где j

 

 

 

 

 

(x) , j 0, n – многочлены степени n. Из условия совпа-

дения

значений функций

f (x)

и (x) в узлах, т.е.

 

 

 

f (xi ) (xi ) , i 0, n, в силу (2.8), получим

 

 

 

 

 

(x )

0,

i j,

 

 

 

 

 

j

i

1,

i j.

 

 

 

 

 

 

 

Отсюда следует, что j (x)

– многочлен, корнями которого яв-

ляются узлы x0 , x1, ..., xj 1, xj 1, ..., xn и его можно построить в виде

j (x) Aj (x x0 )(x x1) (x xj 1)(x xj 1) (x xn ),

где Aj – некоторая константа, которая определяется из условия

j (xj ) 1. В результате получим

Aj

 

 

 

 

1

 

 

.

 

 

 

 

 

 

(x j

x0 )(x j

x1 ) (x j

x j 1 )(x j

x j 1 ) (x j

 

 

 

xn )

Тогда функция j (x) имеет вид

24

j (x)

 

(x x0 )(x x1 ) (x x j 1 )(x x j 1 ) (x xn )

 

. (2.9)

(x j

x0 )(x j

x1 ) (x j

x j 1 )(x j

x j 1 ) (x j

xn )

 

 

 

Подставляя выражение (2.9) в (2.8), получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x) Ln (x)

 

 

 

 

 

 

 

 

 

 

 

 

n f (x

)(x x )(x x )

 

(x x

j 1

)(x x

 

)

(x x )

 

 

 

 

 

j

 

0

 

1

 

 

 

 

 

 

 

 

 

 

j

1

 

 

 

n

 

 

(x

j

x )(x

j

x )

(x

j

x

j 1

)(x

j

x

j 1

)

 

(x

j

x )

j 0

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

n

 

 

n

 

(x x )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (xj )

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

(2.10)

 

 

 

 

 

 

 

(x

j

x )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j 0

 

 

i 0

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Многочлен вида (2.10) называется интерполяционным мно-

гочленом Лагранжа (формула (2.10) – формулой Лагранжа).

Для того, чтобы отличить этот многочлен от других интерполя-

ционных многочленов,

его обозначают

Ln (x). Обозначим

(x) (x x0 ) (x x1 )

(x xn ) .

Тогда

формулу

Лагранжа

(2.10) можно записать в виде

 

 

 

 

 

 

 

n

 

(x)

 

 

 

Ln (x) f (x j )

 

.

(2.11)

 

 

 

(x xj

)

 

 

j 0

 

(x j )

 

С вычислительной точки зрения формула Лагранжа не очень удобна, так как если потребуется увеличить степень интерполяционного многочлена, то для этого добавляются к уже имеющимся узлам дополнительные узлы и все вычисления по формуле (2.11) повторяются заново. Формула (2.11) может использоваться и для построения аналитического выражения многочлена Лагранжа.

Пример 2.1. Таблица значений функции имеет вид

xi

yi

 

 

0

1

1

2

2

4

Требуется найти аналитическое выражение многочлена Лагранжа.

25

1. Найдем коэффициенты многочлена, решив систему линейных алгебраических уравнений (2.5), которая в нашем случае будет иметь вид:

1 0

0

a

 

1

 

1

1

1

a0

 

 

2

.

 

1

2

4

a1

 

4

 

 

 

 

 

2

 

 

 

 

 

Решением этой системы будет следующим: a0 1,

a1 0,5 ,

a2 0,5 , а соответствующее аналитическое выражение многочлена Лагранжа имеет вид: L2 (x) 1 0,5x 0,5x2 .

2. Найдем решение поставленной задачи по формуле Лагранжа (2.10). Тогда

L (x)

 

y0 (x x1 )(x x2 )

 

 

y1 (x x0 )(x x2 )

 

y2 (x x0 )(x x1 )

 

2

 

(x0 x1 )(x0 x2 )

 

 

(x1 x0 )(x1 x2 )

 

(x2 x0 )(x2 x1 )

 

 

 

 

 

 

 

1 (x 1)(x 2)

 

 

2 (x 0)(x 2)

 

4 (x 0)(x 1)

 

 

 

1 ( 2)

 

 

1 ( 1)

 

2 1

1 0,5x 0,5x2 .

2.3. Вычисление многочлена Лагранжа по схеме Эйткена

Применение формулы Лагранжа для вычисления интерполяционного многочлена в точке x неудобно из-за ее громоздкости. Существенно упростить расчет интерполяционного многочлена в конкретной точке можно, используя интерполяционную схему Эйткена, которая заключается в следующем.

На первом этапе строится последовательность многочленов первой степени по двум рядом стоящим узлам:

 

 

 

y

x

x

 

 

 

 

 

 

 

 

(x)

 

y0

x0

x

 

 

L0,1

 

1

1

 

 

,

 

 

 

 

 

 

x1

x0

 

 

 

 

 

 

26

 

 

 

y

x x

 

 

 

 

 

 

 

 

(x)

 

y1

x1

x

 

 

L1, 2

 

2

2

 

 

,

 

 

 

 

 

 

x2

x1

 

 

 

 

 

 

 

 

 

yn 1

xn 1 x

 

 

 

 

 

 

 

Ln 1, n

(x)

 

yn

xn x

 

.

 

 

 

 

 

xn

xn 1

 

 

 

 

 

 

Очевидно, что все построенные многочлены являются многочленами Лагранжа (здесь yi f (xi ), i 0, n ). На втором этапе

строится последовательность многочленов Лагранжа 2-ой степени, при этом используются многочлены, вычисленные на предыдущем этапе. Расчеты выполняются по формулам:

 

 

L

(x)

x

x

 

 

 

 

 

 

L0, 1, 2 (x)

 

L01

(x)

x0

x

 

 

 

12

 

2

 

 

,

 

 

x2

x0

 

 

 

 

 

 

 

 

 

 

 

L1 2 (x)

x1

x

 

 

 

 

 

 

 

L1, 2, 3

(x)

 

L2 3 (x)

x3

x

 

 

,

 

x3 x1

 

 

 

 

 

 

 

 

 

 

 

 

 

Ln 2 n 1 (x)

xn 2

x

 

 

 

 

 

 

 

Ln 2, n 1, n

(x)

 

Ln 1 n (x)

xn

x

 

 

.

 

 

 

 

 

 

 

 

xn xn 2

 

 

 

 

 

 

 

 

 

 

 

 

Количество таких многочленов будет на 1 меньше чем на предыдущем этапе. Наконец на n-ом этапе строится многочлен Лагранжа степени n по формуле

 

 

 

L01 n 1 (x)

x0 x

 

 

 

 

 

 

 

L0,1, ,n

(x)

 

L12 n (x)

xn

x

 

.

 

 

 

 

 

 

xn x0

 

 

 

 

 

 

 

 

 

 

27

Это и будет значение многочлена Лагранжа степени n в точке x , построенного по узлам x0 , x1, ..., xn .

Применяя схему Эйткена, можно подключить новые узлы, увеличивая при этом степень интерполяционного многочлена. При этом не требуется полностью повторять все предыдущие вычисления заново.

Расчеты по интерполяционной схеме Эйткена можно представить в виде следующей таблицы

xi

yi

Li 1,i (x)

Li 2,i 1,i (x)

 

L0,1,2,...n (x)

x0

y0

 

 

 

 

 

 

x1

y1

L0,1 (x)

 

 

 

 

x

2

y

2

L (x)

L0,1,2 (x)

 

 

 

 

 

1,2

 

 

 

 

 

x0

y0

L

(x)

Ln 2,n 1,n (x)

 

L

(x)

 

 

 

 

n 1,n

 

 

 

0,1,2,...n

 

Пример 2.2. Рассмотрим задачу вычисления многочлена Лагранжа в заданной точке для таблицы 2.1. Расчеты выполним для точки x 1,5. Схема Эйткена дает следующие результаты:

 

 

0 1,5

 

 

 

 

 

 

 

 

 

 

 

 

2

1 1,5

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L (1,5)

 

 

2

1 1,5

 

 

2,5

; L

 

(1,5)

 

 

 

 

4

2 1,5

 

 

3;

 

 

 

 

 

 

 

 

 

0,1

 

 

 

1 0

 

 

 

 

 

1, 2

 

 

 

 

 

 

2 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5

 

 

 

 

 

 

 

 

L (1,5) L

(1,5)

 

 

3

 

2 1.5

 

 

 

2,875 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

0, 1, 2

 

 

 

 

 

 

 

2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставив в аналитическое выражение многочлена Лагранжа, полученное в примере 2.1 значение x 1,5 , имеем тот же результат:

L2 (1,5) 1 0.5 1,5 0.5 1,52 2,875 .

28

2.4.Остаточный член многочлена Лагранжа. Погрешность метода

Если точка

x [a,b] не совпадает с узлом интерполирова-

ния xi a,b ,

то погрешность интерполяционного многочлена

(остаточный член)

 

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

будет не равна нулю. Оценим остаточный член.

Теорема 2.1. Если f (x) непрерывная и n 1 раз диффе-

ренцируемая функция на интервале [a, b], то существует неко-

торая точка [a, b] ,

такая что остаточный член формулы

Лагранжа равен:

 

 

 

 

 

 

R (x)

f (n 1) ( )

(x) .

(2.12)

 

n

 

(n 1)!

 

 

 

 

 

 

 

 

 

 

Доказательство. Рассмотрим функцию

 

 

 

(z) f (z) Ln (x) K (x) ,

(2.13)

где K − некоторая, пока неизвестная константа. Учитывая, что

(x) (x x0 ) (x x1 )

(x xn ) и

f (xi ) Ln (xi )

 

 

 

для i 0, n ,

функция (z) имеет n 1 корень

x0 , x1,..., xn . Выберем кон-

станту K так, чтобы и точка x , не совпадающая ни с каким узлом xi , тоже была корнем функции (z) . Тогда очевидно, что

Rn (x) K (x) ,

(2.14)

функция (z) будет иметь n 2 корня x, x0 , x1,..., xn . Пусть точка x (xk , xk 1 ) , тогда на концах каждого из n 1 интервала

[x0 , x1 ] , [x1, x2 ] ,…,[xk , x] ,[x, xk 1 ] ,…,[xn 1, xn ] функция (z)

равна нулю. Сформулируем теорему Ролля. Если f (a) f (b) , то для непрерывной и дифференцируемой функции f (x) на интервале [a,b] найдется не менее одной точки x , в которой f (x) 0 . Применяя эту теорему к каждому из перечисленных

29

выше интервалов, на концах которых значения функции (z) равны, можно утверждать, что внутри каждого интервала имеется хотя бы один корень. А это означает, что функция (z) на интервале [a,b] имеет не менее n 1 корня. Аналогично можно доказать, что (z) на интервале [a,b] имеет не менее n корней и, наконец, (n 1) (z) имеет не менее одного корня. Обозначим корень уравнения (n 1) (z) 0 переменной , тогда дифференцируя (2.13) n 1 раз и учитывая, что (n 1) (z) (n 1)!,

получим формулу:

(n 1) (z) f (n 1) (z) 0 (n 1)!K ,

заменяя в которой переменную z на переменную , получим

уравнение для определения K :

 

0 f (n 1) ( ) (n 1)!K .

(2.15)

Тогда из (2.15), выразив переменную K и подставив ее в выражение (2.14), получается формула для остаточного члена (2.12). Теорема доказана.

Оценивая максимальное значение Rn (x) , получим формулу для погрешности метода при интерполировании в точке x

 

 

 

Mn 1

 

 

 

(x)

 

,

 

(2.16)

 

 

 

 

(n 1)!

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (n 1) (x)

 

 

M

n 1

max

 

.

(2.17)

 

 

x [a,b]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Максимальная погрешность интерполирования на отрезке [a,b] оценивается значением

Mn 1 max (x) . (n 1)! x [a,b]

Пример 2.3.

Для функции f (x) sin(x) по значениям в ин-

терполяционных

узлах x0 0,3 ,

x1 0, 4 ,

x2 0,5 построен

многочлен Лагранжа 2-ой степени.

Требуется оценить погреш-

30