ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.04.2024

Просмотров: 144

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
+ y1 (x x0 ) , (x1 x0 )

a3 = +3 y30 ;

3!h

В общем случае выражение для аk будет иметь вид:

a

=

+k y0

;

(4.14)

k

 

k!hk

 

 

Подставим теперь (4.14) в выражение для много-

члена (4.13):

P (x) = y

+

+y0

(x x ) +

+2 y0

(x x

)(x x ) +...

n

0

 

h

0

 

 

2!h2

0

1

++n y0

(x

x ) ... (x x

n1

).

 

 

n!hn

 

 

0

 

 

 

 

 

Практически эта формула применяется в несколь-

ко ином виде.

 

Положим

 

x x0

=t , то есть

 

 

h

x = x0 + ht . Тогда:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x1

=

x x0 h

=t 1,

 

 

h

 

h

 

 

 

 

 

 

 

 

 

 

x x2

 

=

x x0 2h

=t 2

 

h

 

 

 

 

 

 

h

 

 

 

 

и так далее. Окончательно имеем:

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

Ln(x) = yi x x j =

 

 

n

 

 

 

 

 

i=1

ji xi x j

 

n

(x

x0 )...(x xi1 )(x xi+1 )...(x xn )

 

= yi

. (4.9)

(xi x0 )...(xi xi1 )(xi xi+1 )...(xi xn )

i=1

 

В частности, для линейной и квадратичной интерполяции по Лагранжу получим следующие интерполяционные многочлены:

L1(x) = y0

 

(x x1 )

 

 

 

 

 

(x

0

x )

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

L2(x) = y0

 

(x x1 )(x x2 )

 

(x

0

x )(x

0

x

2

)

 

 

 

 

 

 

 

 

1

 

 

 

 

+y2

(x x0 )(x x1 )

.

 

 

 

 

 

 

 

 

(x

2

x

0

)(x

2

x )

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

+ y1

(x x0 )(x x2 )

+

 

 

(x

x

0

)(x

x

2

)

 

 

1

 

1

 

 

 

Пример 4.3.

Построим интерполяционный многочлен Лагранжа по следующим данным:

x

0

2

3

5

y

1

3

2

5

Степень многочлена Лагранжа для n +1 узла равна n. Для нашего примера многочлен Лагранжа имеет третью степень. В соответствии с (4.9)

76

69


+an (x x0 ) ... (x xn1).

L3(x) = 1

(x 2)(x 3)(x 5)

+3

x(x 3)(x 5)

+

(0 2)(0 3)(0 5)

2(2 3)(2 5)

 

 

 

 

+ 2

x(x 2)(x 5)

 

+ 5

x(x 2)(x 3)

=

 

3(3 2)(3 5)

 

 

 

 

 

 

5(5 2)(5 3)

 

62

13

2

3

3

 

 

 

 

= 1 + 15 x – 6

x

+

 

x .

 

 

 

 

10

 

 

 

 

Пример 4.4.

Рассмотрим пример использования интерполяционного многочлена Лагранжа для вычисления значения заданной функции в промежуточной точке. Эта задача возникает, например, когда заданы табличные значения функции с крупным шагом, а требуется составить таблицу значений с маленьким шагом.

Для функции y = sinx известны следующие данные.

x

0

π/6

π/3

π/2

y

0

½

3 2

1

Вычислим y (0.25).

Найдем многочлен Лагранжа третьей степе-

ни:

L3(x) = 0 (x π 6)(x π 3)(x π 2) + (0 π 6)(0 π 3)(0 π 6)

70

Пусть для функции, заданной таблицей с постоянным шагом, составлена таблица конечных разностей 4.2. Будем искать интерполяционный многочлен в виде:

Pn (x) = a0 + a1(x x0 ) + a2 (x x0 )(x x1) +...(4.13)

Это многочлен n – й степени. Значения коэффициентов a0, a1, ... an найдем из условия совпадения значений исходной функции и многочлена в узлах. Полагая х = х0, из (4.13) находим y0 = Pn (x0) = а0, откуда а0 = y0. Далее, придавая х значения x1 и x2, последовательно получаем:

y1 = Pn (x1) = a0 + a1(x1 x0 )

откуда

a1 = +hy0 ;

y2 = Pn (x2 ) = a0 + a1(x2 x0 ) + a2 (x2 x0 )(x2 x1),

то есть

y2 +2y0 y0 = 2h2a2 , или y2 2y1 + y0 = 2h2a2 ,

откуда

a2 = +2 y0 ; 2h2

Далее, проведя аналогичные выкладки, можно получить

75



+2 yi =+yi+1 +yi (i = 0, 1, 2, ...)

Продолжая этот процесс, можно по заданной таблице функции составить таблицу конечных разностей (см. таблицу 4.2). Конечные разности любого порядка могут быть представлены через значения функции. Действительно, для разностей первого порядка это следует из определения. Для разностей второго порядка имеем:

+2 yi =+yi+1 +yi =(yi+2 yi+1) (yi+1 yi ) =yi+2 2yi+1 +yi.

Аналогично для разностей третьего порядка:

+3 yi =+2 yi+1 +2 yi =(yi+3 2yi+2 + yi+1) (yi+2 2yi+1 + yi ) =

=yi+3 3yi+2 +3yi+1 yi

итак далее.

Методом математической индукции можно доказать, что

+k yi = yi+k

k yi+k1

+

k(k 1)

yi+k2 ...+(1)k yi.(4.12)

 

 

 

 

 

 

 

 

 

2!

 

 

Таблица 4.2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

y

 

+yi

 

+2yi

+3yi

 

x0

 

y0

 

+y0

 

+2y0

+3y0

 

 

 

x1

 

y1

 

+y1

 

+2y1

+3y1

 

 

 

x2

 

y2

 

+y2

 

+2y2

 

 

 

x3

 

y3

 

+y3

 

 

 

 

 

x4

 

y4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

74

 

 

 

 

 

1

 

 

 

 

 

(x 0)(x π

 

)(x π

 

)

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

3

 

 

 

 

2

 

 

 

+

 

(π

 

 

0)(π

 

 

π

 

)(π

 

 

π

 

 

 

 

2

 

6

6

 

6

2

)

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

(x 0)(x π

 

 

)(x π

 

)

 

 

 

 

 

+

 

 

 

 

 

 

 

6

 

 

 

 

2

 

 

 

 

+

2

(π

3

0)(π

3

π

 

)(π

3

π

2

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x 0)(x π

 

)(x π

 

 

)

 

 

 

 

 

 

 

+1

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

3

 

 

.

 

 

 

 

π

2

 

 

 

π

π

 

 

π

2

 

π

3)

 

 

 

 

 

 

 

(

 

 

0)( 2

 

6)(

 

 

 

 

 

 

 

 

 

При x = 0.25 получим y(0.25) = sin 0.25 0.249.

Погрешность интерполяции. Пусть интерполяци-

онный многочлен Лагранжа построен для известной функции f (x). Необходимо выяснить, насколько этот многочлен близок к функции в точках отрезка [a, b], отличных от узлов. Погрешность интерполяции равна | f(x) – Pn(x)|. Оценку погрешности можно получить на основании следующей теоремы.

Теорема 4.2. Пусть функция f(x) дифференцируема n +1 раз на отрезке [a, b], содержащем узлы интерполяции xi [a, b], i = 0, 1, … , n. Тогда для погрешности интерполяции в точке x [a, b] справедлива оценка:

 

 

| f(x) – Ln(x)|

M n+1

 

|ωn+1(x)|, (4.10)

 

 

(n +1)!

 

Mn+1

= max | f(n+1)(x)|,

 

где

 

 

 

 

 

[a,b]

 

 

 

 

 

71

 

 

 


ωn+1(x) = (x – x0)(x – x1)…. (x – xn).

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

max | f(x) – Ln(x)|

M n+1

 

max |ωn(x)| (4.11)

(n +1)!

[a,b]

[a,b]

Пример 4.5.

Оценим погрешность приближения функции f(x) = x в точке x = 116 и на всем отрезке [a, b], где a = 100, b = 144, с помощью интерполяционного много члена Лагранжа L2(x) второй степени, построенного с узлами x0 = 100, x2 = 144.

Найдем первую, вторую и третью производные функции f(x):

f '(x)= 12 x – 1/2,

 

 

 

 

 

f "(x)= – 14 x –3/2,

 

 

 

 

 

f '''(x)= 83 x –5/2.

3

 

 

3

 

M3 = max | f '''(x)| =

100 –5/2

=

10 –5.

[a,b]

8

 

 

8

 

В соответствии с (4.9) получим оценку погрешности в точке x = 116:

| 116 L2(116)|

1

 

|(116 – 100)(116 – 121)×

3!

 

 

× (116 – 144)| = 161 10 –5 16 5 28 = 1.4 10 – 3. 72

Оценим погрешность приближения функции f(x) = x на всем отрезке в соответствии с (4.11):

max[ ] | x – L2(x)|

a,b

105 max |(x – 100)(x – 121)(x –144)| 2.5 10–3.

16 [a,b]

4.4. Интерполяционные многочлены Ньютона для равноотстоящих узлов

Часто интерполирование ведется для функций, заданных таблицами с равноотстоящими значениями аргумента. В этом случае шаг таблицы h = xi+1 xi (i = 0, 1, 2, ...) является величиной по-

стоянной. Для таких таблиц построение интерполяционных формул (как, впрочем, и вычисление по этим формулам) заметно упрощается.

Таблица 4.1.

x

x0

x1

...

xn

f(x)

y0

y1

...

yn

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

ются конечными разностями первого порядка:

+yi = yi+1 yi (i = 0, 1, 2, ...)

Из конечных разностей первого порядка образу-

ются конечные разности второго порядка:

73