Материал: 5544

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

т.е. в узлах интерполяции xk значения многочлена (1.5) совпадают со значениями приближаемой функции f(x) , так как согласно таблице (1.1) выполняются равенства yk f xk .

Формула (1.5) значительно упростится в случае равноотстоящих узлов интер-

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

 

[xk, xk+1] ( k 0,1,2, , n 1) будут одинаковой

длины h.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим самую простую ситуацию, когда значения функции

y f x за-

даны в двух узлах интерполяции х0,

х1: y0

f x0 , y1 f x1 . Тогда

n 1 и со-

гласно (1.5) интерполяционный многочлен Лагранжа принимает вид

 

L x y

 

x x1

y

x x0

.

 

 

 

 

 

 

1

 

 

 

0

x

0

x

1

x

x

0

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

Для функции f x получилось приближённое равенство

 

f x y

 

 

x x1

y

 

x x0

 

 

 

(1.6)

0

 

x

0

x

1 x

x

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

 

 

которое называют формулой линейной интерполяции, так как многочлен L1(x) есть линейная функция x kx b . При таком подходе дуга исходной интерполируемой кривой y f x на промежутке [x0, x1] заменяется отрезком прямой

y y

 

x x1

y

x x0

,

(1.7)

 

 

x

x x

 

 

0

x

1

0

 

 

 

 

0

1

 

1

 

 

соединяющим две точки (х0, у0) и (х1, у1) исходной таблицы (1.1). Так как х1х0, эти точки не являются вертикальными. Из аналитической геометрии известно, что уравнение прямой на плоскости, проходящей через точки (х0,у0) и (х1, у1), не являющиеся вертикальными, имеет вид

y y0 y1 y0 ( x x0 ) . x1 x0

Предлагаем читателю установить, что уравнение совпадает с последним. Учитывая сказанное, приближённое равенство (1.6) можно переписать в виде

f (x) f (x

 

)

y1

y0

(x x

 

).

(1.8)

0

 

 

0

 

 

x1

x0

 

 

 

 

 

 

 

 

Формула линейной интерполяции функции f(x) используется для приближённого вычисления её значений внутри промежутка [x0, x1].

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

f x f x0 f x0 x x0 ,

(1.9)

6

 

применяемое для приближённого вычисления значений функции в окрестности ( x 0 ; x0 ) точки х0 достаточно малого радиуса .

Равенство (1.9) следует из определения производной в точке, т.е. из равенства

lim

f ( x) f ( x0 )

f ( x )

 

x x0

0

x x0

или из приближённого равенства y(x0 ) dy(x0 ) для дифференцируемой функции, которое означает, что приращение функции в точке х0 ( y(x0 ) f (x) f (x0 ) )

примерно равно дифференциалу этой функции в точке х0 ( dy(x0 ) f (x0 ) x,x x x0 есть приращение аргумента). При этом точность последнего прибли-

жённого равенства тем больше, чем меньше x , т.е. чем ближе х к х0.

Так как справа в (1.9) стоит линейная функция, формулу (1.9) называют линеаризацией функции f(x) в окрестности точки х0. Эту формулу можно использовать как для x x0 , так и для x x0 , но достаточно близких аргументов х к х0.

Читателю рекомендуется дать геометрическую интерпретацию формулам

(1.8) и (1.9).

Схема построения полиномов Лагранжа

Шаг 1. Найдём коэффициенты k k xk :

 

0 x0 x1 x0 x2 x0 xn ,

 

1 x1 x0 x1 x2 x1 x3 x1 xn ,

 

2 x2 x0 x2 x1 x2 x3 x2 xn ,

и так до n

xn x0 xn x1 xn

x2 xn xn 1 .

Каждый

коэффициент k

xk x j есть произведение разностей xk со

 

 

j k

всеми остальными значениями аргументов из таблицы (1.1).

Шаг 2. Пусть x – переменная. Составим произведение

x x x j x x0 x x1 x x2 x xn .

Полином Лагранжа для значений функции в точке x выглядит так:

 

y0

 

 

y1

 

 

 

 

y2

 

yn

 

Ln x ( x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

x x0

1

x x1

 

2

x x2

 

0

 

 

 

n x xn

где y0 , y1 , , yn – известные значения функции в точках

x0 , x1 , , xn

соответ-

ственно. Последняя формула совпадает с (1.5).

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

Шаг 3. Раскрывая внешние скобки, можно получить многочлен степени n

n

 

 

x x

 

y

k

 

 

x A

x A

x

 

 

 

 

 

A

 

 

 

 

 

j

 

 

 

 

0 0

1 1

n n

 

k 1

j k

 

 

k

 

 

 

 

как классический полином Лагранжа, а продолжая раскрытие скобок, свести к стандартному виду a0 a1x a2 x2 an xn , но обычно удобнее работать с поли-

номом в виде, полученном на шаге 2, хотя он и терпит устранимый разрыв во всех точках xk .

Пример. По таблице

х

0

1

2

3

4

 

 

 

 

 

 

у

2

3

6

11

18

 

 

 

 

 

 

построить полином Лагранжа и найти приближённые значения в точках 2,7 и 4,05. Решение. Удобно пронумеровать точки и значения:

x0 0, x1 1, x2 2, x3 3, x4 4 и y0 2, y1 3, y2 6, y3 11, y4 18.

Шаг 1. Находим коэффициенты

0 0 1 0 2 0 3 0 4 24 ,

1 1 0 1 2 1 3 1 4 6 ,2 2 0 2 1 2 3 2 4 4 ,

3 3 0 3 1 3 1 3 4 64 4 0 4 1 4 2 4 3 24 .

Шаг 2. Составим произведение x x 0 x 1 x 2 x 3 x 4 . Полином Лагранжа:

 

 

2

 

 

3

 

 

 

 

 

 

 

6

 

 

 

 

11

 

 

 

 

 

18

 

L

x x x 1 x 2 x 3 x 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

24x

 

 

6 x

1

 

4 x 2

 

 

6 x 3

 

 

 

 

 

 

 

 

 

 

 

 

24 x 4

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,0833

 

0,5

 

 

1,5

 

 

 

 

1,8333

 

 

0,75

 

 

 

L x x x 1 x 2 x 3 x 4

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

x 1

 

 

x 2

 

 

x 3

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

x 4

 

 

Шаг 3. Раскрыв скобки, получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L4

0,833 3 x 1 x 2 x 3 x 4 0,5x x 2 x 3 x 4

 

 

 

 

 

 

 

 

 

 

1,5x x 1 x 3 x 4 1,833 3x x 1 x 2 x 4 0,75x x 1 x 2 x 3 .

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pn x .
xn 1; yn 1

Вычислим значение полинома Лагранжа в точке 2,7:

2,7 2,7 2,7 1 2,7 2 2,7 3 2,7 4 1,253 07 ,

причём каждый из множителей появится в знаменателе на следующем шаге;

 

0,083 3

 

0,5

 

1,5

 

1,833 3

 

0,75

 

 

 

L4

2,7 1,253 07

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,253 07 7,413 8 9,29 .

2,7

 

1,7

0,7

 

0,3

1,3

 

 

 

 

 

 

 

 

 

 

Оставлять в ответе много знаков нет смысла, поскольку данные задачи – целые числа и нет информации об их точности.

Вычислим значение полинома Лагранжа в точке 4,05. Находим

4,05 4,05 4,05 1 4,05 2 4,05 3 4,05 4 1,329 4 ,

затем

 

0,083 3

 

0,5

 

1,5

 

1,833 3

 

0,75

 

 

L4

4,05 1,329 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,329 4 13,841 18,40 .

 

4,05

 

3,05

2,05

1,05

 

0,05

 

 

 

 

 

 

 

 

 

 

Ответ: L4 2,7 9,29;

L4 4,05 18,40 .

 

 

 

 

 

 

 

 

1.3. Метод разделённых разностей и полиномы Ньютона

Метод Лагранжа прост, но его существенный недостаток в том, что при добавлении новой пары надо пересчитывать все коэффициенты. Метод

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

Пусть по-прежнему задана таблица (1.1) значений функции, и надо найти аналитическую зависимость y f x в виде полинома

Идея метода – найти разложение искомой функции в виде некоторого ряда по аналогии с рядом Тейлора, где учитывается приращение как скорость изменения функции, скорость изменения приращений и т.д.

Схема метода разделенных разностей состоит из двух частей.

Часть 1. Разностные аналоги производных

Для каждой пары соседних точек xi , xi 1 находим разностный аналог первой производной – дроби

10

y1 y0

,

11

y2

y1

,

12

y3 y2

, ,

1n 1

yn

yn 1

.

x x

 

 

 

x

 

 

x

 

 

 

 

 

0

 

 

x

2

 

 

x

3

2

 

 

x

n

x

n 1

 

1

 

 

 

1

 

 

 

 

 

 

 

 

9

Всего находим n значений по общей формуле 1i

yi 1

yi

при i 0,1, ,n 1 .

xi 1

xi

 

 

Для каждой пары соседних значений 1i , 1i 1 находим разностный аналог 2-й

производной:

 

 

 

11 10

 

 

 

 

12 11

 

 

13 12

 

 

 

 

 

 

 

1n 1 1n

2

 

2 0

x

2

x

0

,

21

x

3

x

,

2 2

 

x

4

x

2

 

,

 

, 2 n 2

x x

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

n

n 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

1i 1

1i

 

 

 

 

 

 

всего находим n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значение по формуле i

xi 2

xi

 

 

при i 0,1, ,n 2 .

 

Находим n 2 разностных аналога третьей производной:

 

 

 

 

21 2 0

 

 

 

2 2 21

 

 

 

 

 

 

 

2 n

 

2 2 n

 

3

 

 

 

 

 

30 x

3

x

0

, 31

x

4

x

 

 

,

 

, 3n 3

 

x

 

x

n

3

 

 

при i 0,1, ,n

3 ,

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

1

 

0

и так, пока на шаге с номером n не найдём единственное значение 0

xn

x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

i 1

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Общая формула вычисления:

i xi k

xi

 

 

при k

1,2, ,n

и i 0,1, ,n k .

Верхние индексы означают порядок разностной производной, а не степень. Можно заметить, что y1 y0 10 x1 x0 . Также можно показать, что

y2 y0 10 x2 x0 2 0 x2 x0 x2 x1 ,

y3 y0 10 x3 x0 2 0 x3 x0 x3 x1 30 x3 x0 x3 x1 x3 x2 ,

и так до

y

n

y

0

10

x

n

x

0

2 0 x

n

x

0

x

n

x 3 0 x

n

x

0

x

n

x x

n

x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

n 0 x

n

x

0

x

n

 

x x

n

x

n 1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Общая формула

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yk y0 i 0 xk x0 xk xi 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заменим в формуле для yn

точку xn на переменную x:

 

 

 

 

 

 

 

N

n

x y

0

1

x x

2 x x

x x

3 x x

0

x x x x

2

 

 

 

 

 

 

 

 

0

 

 

 

0

 

 

0

 

 

 

 

0

 

 

 

1

0

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

n x x

 

x x

n

x x

n 1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

(1.10)

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставляя

x0 , x1 , , xn и учитывая множители,

равные 0,

получим соответ-

ственно y0 , y1 , , yn .

Из курса алгебры известно, что если два полинома степени n совпали в n+1 точке, то они совпадут в любой другой точке и потому тождественны. Нашей целью было найти полином, принимающий указанные значения в n+1 точке.

10

Источник: https://studfile.net/preview/16711204/