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

а12 / Числ_мет_лабораторный_практикум_ч2_42_55

.pdf
Скачиваний:
0
Добавлен:
31.05.2026
Размер:
548.24 Кб
Скачать

Лабораторная работа № 12

Интерполяционные многочлены

1. Общие сведения

Интерполяционный многочлен Лагранжа

При решении прикладных задач могут использоваться функции, непосред-

ственное вычисление которых затруднено, либо значения функций получены из эксперимента. Такие функции обычно задаются в табличном виде. Табличное определение функций f(x) на отрезке [a,b] подразумевает, что на этом отрезке выбрано некоторое множество попарно различных точек x0, x1, …, xn, называе-

мых узлами таблицы, для которых известны значений функции f(x0), f(x1), …, f(xn).

Одной из проблем, с которой приходится сталкиваться, используя функ-

ции, заданные таблично, является вычисление их значений в точках, не совпа-

дающих с узлами таблицы. Данная проблема часто решается путем приближен-

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

когда значения g(х) определяются легко и надежно, а погрешность приближе-

ния R(x)= f(х) – g(х) достаточно мала.

Функцию g(х) принято называть аппроксимирующей функцией для функ-

ции f(х). Существует множество методов построения аппроксимирующих функций. Если при определении аппроксимирующей функции предполагается,

что ее значения в узлах таблицы совпадают со значениями исходной функции,

т.е. g(хi)=f(xi) для i=0,1, …, n, то такую функцию принято называть интерполи-

рующей. В том случае, когда в качестве интерполирующей функции использу-

ется алгебраический многочлен, его называют интерполяционным многочленом

[2].

41

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

ции в промежуточных точках.

Пусть на отрезке [a,b] даны n+1 различных значений аргумента:

a=x0<x1<…<xn=b и известны соответствующие значения функции f(x0), f(x1), …,

f(xn),

тогда можно построить единственный интерполяционный

многочлен

Ln x

степени не выше n,

который при записи в форме Лагранжа имеет вид

(12.1) [2].

 

x x0 x x1 x xi 1 x xi 1 x xn

 

 

Ln x

n

 

 

f (xi )

 

 

 

.

(12.1)

xi x0 xi

x1 xi xi 1 xi xi 1 xi xn

 

 

i 0

 

 

или в компактной записи (12.2)

 

 

 

 

n

 

 

 

 

 

x

 

x

n

 

k 0

 

L

 

f (x )

k i

 

n

 

n

 

i

xi

 

 

i 0

 

 

 

 

 

 

 

 

 

 

 

k 0

 

 

 

 

 

k i

 

x

k

 

 

 

 

 

 

.

x

k

 

 

 

 

(12.2)

Остаточный член формулы Лагранжа, т.е. разность между значением ис-

ходной функции и интерполяционным многочленом Лагранжа, равен (12.3)

R

(x)

n

 

f (x) L

x

n

 

f

n 1

 

 

 

 

 

 

 

 

 

(n

1)!

 

n 1

(x)

 

 

 

 

 

,

(12.3)

где

чим

 

 

 

n

 

 

 

 

n 1

(x)

 

(x x

)

, а ξ – некоторая точка, принадлежащая отрезку [a,b].

 

 

k

 

 

 

 

k 0

 

 

 

Для упрощения вычисления коэффициентов многочлена Лагранжа обозна-

через

l

x

слагаемые в (12.2), тогда

i

 

 

n

 

 

 

 

 

x xk

 

 

 

 

k 0

 

 

n

 

li x f (xi )

k i

 

 

ai x xk ,

(12.4)

n

 

 

xi xk

k i

 

 

 

 

 

k 0

 

k 0 k i

42

где

a

 

f (x )

.

 

 

i

 

 

 

 

i

n

 

 

 

 

 

i

k

 

 

 

x

x

 

k 0

 

 

 

 

k i

 

 

 

(12.5)

Для вычисления коэффициентов ai строится таблица 12.1, в строках кото-

рой размещаются разности (xi xk ) для всех ik (i, k=0, 1, …, n), столбце Πi нахо-

дятся произведения полученных разностей для каждой строки, в столбце f(xi) - соответствующие значения функций и, наконец, в последнем столбце находятся значения коэффициентов ai.

Таблица 12.1

Схема вычисления коэффициентов ai

xi

 

x0

 

x1

 

x2

 

 

 

xn-1

xn

Πi

 

f(xi)

 

ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

 

 

x0 x1

 

x0 x2

 

x0 xn - 1

x0 xn

Π0

 

f(x0)

 

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

x1x0

 

 

x1 x2

 

x1 xn - 1

x1 xn

Π1

 

f(x1)

 

a1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

x2x0

 

x2x1

 

 

 

x2 xn - 1

x2 xn

Π2

 

f(x2)

 

a2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn-1

xn-1x0

 

xn-1x1

 

xn-1x2

 

xn - 1xn

Πn-1

f(xn-1)

an-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn

xnx0

 

xnx1

 

xnx2

 

xn xn - 1

Πn

 

f(xn)

 

an

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для вычисления слагаемых

l

x

(i=0, 1, …, n) используется вспомогатель-

 

 

i

 

ная таблица 12.2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 12.2

 

 

 

 

 

 

Вычисление элементов формулы Лагранжа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

xx0

 

xx1

 

xx2

 

 

xxn - 1

xxn

 

 

ai

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

xx1

 

xx2

 

 

xxn - 1

xxn

 

 

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

xx0

 

 

xx2

 

 

xxn - 1

xxn

 

 

a1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

xx0

 

xx1

 

 

 

 

 

xxn - 1

xxn

 

 

a2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

43

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

4

xx0

xx1

xx2

xxn

an-1

 

 

 

 

 

 

 

 

5

xx0

xx1

xx2

xxn - 1

an

 

 

 

 

 

 

 

 

Перемножая элементы каждой строки, получаем соответствующие слагае-

мые формулы Лагранжа.

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

Другим способом построения интерполяционного многочлена является ин-

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

В случае неравномерного распределения узлов интерполяции многочлен Ньютона имеет вид (12.6) [3]

P (x) f (x

) (x x

) f (x

, x ) (x x )(x x ) f (x

, x

, x

) ...

k

0

 

0

0

1

0

 

1

0

1

2

 

 

... (x x

)(x x )...(x x

) f (x

, x

,..., x ),

 

 

 

 

 

 

0

 

1

k 1

0

1

k

 

 

 

 

(12.5)

где f(x0,x1), f(x0,x1,x2), …, f(x0,x1,…,xk) – разделенные разности соответственно первого, второго и k-го порядков. Значения функций в узлах интерполяции можно интерпретировать как разделенные разности нулевого порядка. Разде-

ленная разность первого порядка, определяется как отношение разности значе-

ний функций в соседних узлах интерполяции к разности соответствующих зна-

чений аргументов в этих узлах (12.6) [3].

 

 

)

f (x

) f (x )

f (x

, x

i 1

 

i

i

i 1

 

x

 

x

 

 

 

 

 

 

 

i 1

i

(12.6)

где i – номер узла.

По разделенным разностям первого порядка можно построить разделенные разности второго порядка (12.7).

f (x , x

, x

)

f (xi 1, xi 2 ) f (xi

, xi 1 )

,

(12.7)

 

 

i i 1

i 2

 

xi 2 xi

 

 

 

 

 

 

 

 

Аналогично определяются разделенные разности более высоких порядков.

Например, если известны разности порядка k-1: f(xi,xi-1, …, xi+k-1) и 44

f(xi+1,xi+2, …, xi+k),

ношением (12.8)

f (x , x

, ..., x

,

i

i 1

i k

 

то разделенная разность (k+1)-го порядка определяется соот-

 

)

f (x

, x

, ..., x

) f (x , x

, ..., x

)

 

 

x

i 1

i 2

i k

 

i

i 1

i k 1

 

.

(12.8)

i k 1

 

 

 

x

 

x

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

i

i

 

 

 

 

 

Разделенная разность порядка k, построенная по начальным точкам табли-

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

терполяции [3] в соответствии с формулой (12.9)

 

 

 

 

k

f (x

 

)

 

f (x

, x

, ..., x

)

k

 

 

j

 

.

 

 

 

 

0

1

k

 

 

j

 

l

 

 

 

 

 

 

 

x

 

 

 

 

 

 

j 0

 

 

 

 

 

 

 

 

 

 

 

l j

 

 

 

 

 

 

 

 

 

 

l 0

 

 

 

 

 

(12.9)

Для вычисления коэффициентов интерполяционной формулы Ньютона

необходимо построить таблицу разделенных разностей (см. табл. 12.3).

 

 

 

 

 

 

Таблица 12.3

 

 

 

Таблица разделенных разностей

 

 

 

 

 

 

 

 

 

 

xi

f (xi)

 

 

Порядок разности

 

 

 

 

 

 

 

 

1

 

2

k

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

f (x0)

 

 

 

 

 

 

 

 

f (x0,x1)

 

 

 

 

 

x1

f (x1)

 

 

f (x0, x1, x2)

 

 

 

 

 

f (x1,x2)

 

 

 

 

 

x2

f (x2)

 

 

f (x1, x2, x3)

 

 

 

 

f (x0, x1, x2,…, xk)

 

xn-2

f (xn-1)

 

 

f (xn-3,xn-2,xn-1)

 

 

 

 

 

f (xn-2,xn-1)

 

 

 

 

 

xn-1

f (xn-1)

 

 

f (xn-2,xn-1, xn)

 

 

 

 

 

f (xn-1,xn)

 

 

 

 

 

xn

f (xn)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

45

 

 

 

Затем строится таблица 12.4, содержащая сомножители вида xxi для i=0, 1, ..., k–1.

Таблица 12.4

Вычисление элементов формулы Ньютона

k

xx0

xx1

xx2

xxn - 1

Разности

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

 

f(x

)

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

1

xx0

 

 

 

 

f(x0,x1)

 

 

 

 

 

 

 

2

xx0

xx1

 

 

f(x0, x1, x2)

 

 

 

 

 

 

 

3

xx0

xx1

xx2

 

 

f(x0, x1, x2, x3)

4

 

 

 

 

 

 

 

 

 

5

xx0

xx1

xx2

xxk - 1

f(x0, x1, x2,…, xk)

 

 

 

 

 

 

 

 

Для получения многочлена Ньютона необходимо вычислить сумму произ-

ведений элементов строк.

2.Задания

1.По заданным в варианте задания табличным значениям xi и f(xi) (i=0, 1, …, n)

построить многочлен Лагранжа степени n, заполнив таблицы 12.1 и 12.2

2.В окончательном виде многочлена следует раскрыть скобки и привести по-

добные члены.

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

4.C помощью полученного многочлена Лагранжа найти приближенные зна-

чения функции f(x) для указанных в варианте значений аргумента.

5.Построить график полученного интерполяционного многочлена. На графике отобразить исходные значения функции в узлах интерполяции, а также ре-

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

46

6.По заданным в варианте задания табличным значениям xi и f(xi) (i=0, 1, …, n)

построить многочлен Ньютона степени n, заполнив таблицы 12.3 и 12.4.

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

8.C помощью полученного многочлена Ньютона найти приближенные значе-

ния функции f(x) для указанных в варианте значений аргумента.

3. Пример выполнения задания

Исходная функция задана в табл. 12.5.

Таблица 12.5

Таблица функции f(x)

xi

0

2

4

6

7

8

1

5,6

 

 

 

 

 

 

 

 

 

f(xi)

6

5

3

2

1

3

?

?

 

 

 

 

 

 

 

 

 

Для функции, заданной в таблице 12.5:

1.Построить интерполяционный многочлен Лагранжа.

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

3.С помощью полученного многочлена Лагранжа вычислить приближенные значения функции при x=1 и x=5,6 (указаны в таблице 12.5).

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

5.По заданным в варианте задания табличным значениям xi и f(xi) (i=0, 1, …, n)

построить интерполяционный многочлен Ньютона степени n, заполнив таб-

лицы 12.3 и 12.4. Вычисления выполнять с 4 десятичными знаками.

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

47

7.C помощью полученного многочлена Ньютона вычислить приближенные значения функции при x=1 и x=5,6 (указаны в таблице 12.5).

Построение интерполяционного многочлена Лагранжа

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

Построение интерполяционного многочлена начинается с заполнения табл. 12.1, адаптированной для условий, указанных в задании. В первом столб-

це и первой строке таблицы помещаются значения xi из табл. 12.3. Затем вы-

числяются разности (xi xk) для всех ik (i, k=0, 1, …, 6), которые размещаются в соответствующих ячейках. Элементы столбца Πi, определяются как произведе-

ния элементов соответствующих строк. Коэффициенты ai равны отношениям значений f(xi) к произведению соответствующих элементов строк.

Таблица 12.4

Вычисление коэффициентов ai .

xi

0

2

4

6

7

8

П

f(xi)

ai

 

 

 

 

 

 

 

 

 

 

0

-2

-4

-6

-7

-8

-2688

6

-1/448

 

 

 

 

 

 

 

 

 

 

2

2

-2

-4

-5

-6

480

5

1/96

 

 

 

 

 

 

 

 

 

 

4

4

2

-2

-3

-4

-192

3

-1/64

 

 

 

 

 

 

 

 

 

 

6

6

4

2

-1

-2

96

2

1/48

 

 

 

 

 

 

 

 

 

 

7

7

5

3

1

-1

-105

1

-1/105

 

 

 

 

 

 

 

 

 

 

8

8

6

4

2

1

384

3

1/128

 

 

 

 

 

 

 

 

 

 

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

n

ai x xk i=0,1, …, 5.

k 0 k i

48

Таблица 12.5

Вычисление элементов формулы Лагранжа

 

 

 

i

 

 

xx0

 

xx1

 

 

xx2

 

 

 

xx3

xx4

 

xx5

 

ai

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

x–2

 

 

x–4

 

 

 

x–6

x–7

 

x–8

 

-1/448

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

x

 

 

 

 

 

x–4

 

 

 

x–6

x–7

 

x–8

 

1/96

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

x

 

x–2

 

 

 

 

 

 

 

 

x–6

x–7

 

x–8

 

-1/64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

x

 

x–2

 

 

x–4

 

 

 

 

 

 

x–7

 

x–8

 

1/48

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

x

 

x–2

 

 

x–4

 

 

 

x–6

 

 

x–8

 

-1/105

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

x

 

x–2

 

 

x–4

 

 

 

x–6

x–7

 

 

 

1/128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запишем полученный интерполяционный многочлен.

 

 

 

L (x)

1

 

(x 2)(x

4)(x 6)(x 7)(x 8)

1

x(x 4)(x 6)(x 7)(x 8)

 

 

 

 

5

 

 

448

 

 

 

 

 

 

 

 

 

 

 

 

 

96

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

x(x 2)(x 6)(x 7)(x

8)

1

x(x 2)(x 4)(x 7)(x 8)

 

 

 

 

 

 

 

 

 

 

 

 

64

 

 

 

 

 

 

 

 

 

 

48

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

x(x 2)(x 4)(x 6)(x 8)

1

x(x 2)(x 4)(x 6)(x 7).

 

 

 

 

 

 

 

 

 

 

 

 

105

 

 

 

 

 

 

 

 

 

128

 

 

 

 

 

 

 

 

 

 

Раскрывая скобки и приводя подобные, имеем

 

 

 

 

 

 

L (x)

 

157

x5

635

x4

41

x3

3469

x2

3943

x 6.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

13440

 

2688

24

 

672

 

 

840

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проверяем правильность построения интерполяционного многочлена, вы-

числяя его значения в узлах интерполяции. Результаты помещаем в табл. 12.6

Таблица 12.6

Значение интерполяционного многочлена в узлах таблицы

xi

0

2

4

6

7

8

f(xi)

6

5

3

2

1

3

 

 

 

 

 

 

 

L5(xi)

6

5

3

2

1

3

 

 

 

 

 

 

 

Все значения совпали с соответствующими значениями функций. Таким образом, многочлен определен правильно.

График многочлена вместе с узлами интерполяции приведен на рис. 12.1.

49

Вычислим значения многочлена в заданных точках x=1 и x=5,6.

L5(1)=7,0156,

L5(5,6)= 2,4193.

- многочлен Лагранжа,

- узлы интерполяции,

- вычисленные значения.

Рис 12.1 График многочлена Лагранжа и исходных узлов интерполяции.

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

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

поэтому максимальный порядок разделенной разности равен 5. Для вычисления коэффициентов интерполяционной формулы Ньютона необходимо заполнить таблицу разделенных разностей (табл. 12.3), адаптировав ее для условий, ука-

занных в задании (табл. 12.7).

Таблица 12.7

Таблица разделенных разностей

xi

f (xi)

 

 

 

Порядок разности

 

 

 

 

 

 

 

 

 

 

1

 

2

 

3

 

4

5

 

 

 

 

 

0

6

 

 

 

 

 

 

 

 

 

 

 

-1/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50

 

 

 

Соседние файлы в папке а12