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

Основы численных методов. Практикум

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
dy
22
23
24
25
 
dx
dz
 
dx
dy
 
dx
dz
 
dx
dy
 
dx
dz
 
dx
dy
 
dx
dz
 
dx
zyx
5.025.15.0
5.025.075.1

75.075.075.0

25.175.075.1
zyx
75.15.05.0
25.15.075.0

5.025.075.0
zyx
5.025.05.0
1 3 3,40 10,00
zyx
zyx
2 4 2,15 -3,00
zyx
3 5 1,75 -1,00
zyx
zyx
0 2 0,65 13,00
7 ИНТЕРПОЛИРОВАНИЕ
На практике часто сталкиваются с необходимостью вычисления значений функций y = f(x) в точках х, отличных от значений аргумента, фиксированного в таблице. Кроме того, в некоторых случаях, несмотря на то что аналитическое выражение функции y= f(x) известно, оно является слишком сложным и неудобным для дальнейших математических преобразований. Подобные задачи практики формализуются как математические задачи интерполирования.
Пусть на отрезке [a, b] задана функция y = f(x) своими n + 1 значениями
= f(x0), y1 = f(x1),... , yn = f(xn) в точках x0, x1, … , xn, которые называются
y
0
узлами интерполяции. Требуется найти аналитическое выражение F(x) табулированной функции
y1
y
0
x0 x1 …
… y
n
x
n
совпадающей в узлах интерполяции со значениями заданной функции, т. е.
y
= F(x0) = f(x0) , y1 = F(x1) = f(x1) ,... , yn = F(xn) = f(xn).
0
Процесс вычисления значений функции в точках х, отличных от узлов интерполяции, называется
интерполированием функции f(x).
Если аргумент х, для которого определяется приближенное значение функции, принадлежит заданному отрезку [x
, xn], то задача вычисления
0
интерполированием в узком
71
смысле. Если аргумент х находится за пределами отрезка интерполирования
, xn], то задача определения значения функции в точке х называется
[x
0
экстраполированием.
Геометрически задача интерполирования для функции одной переменной y = f(x) означает построение кривой, проходящей через точки плоскости с координатами (x
), (x1;y1), … , (xn,yn). Однако через данные точки можно
0;y0
провести бесчисленное множество различных кривых. Таким образом, задача отыскания функции f(x) по конечному числу ее значений слишком неопределенна.
Эта задача становится однозначной, если в качестве интерполирующей функции F(x) для функции f(x), заданной n + 1 своими значениями, выбрать многочлен F
(x) степени не выше n, такой, что
n
) = y0 , Fn(x1) = y1 ,... , Fn(xn) = yn.
F
n(x0
Многочлен Fn(x), удовлетворяющий этим условиям, называют
интерполяционным многочленом, а соответствующие формулы
интерполяционными формулами.
В случае, когда F(x) выбирается в классе степенных функций, интерполяция называется
параболической. Этот способ приближения
основывается на том, что на небольших отрезках функция f(x) может быть достаточно хорошо аппроксимирована параболой определенного порядка.
7.1 Интерполяционный многочлен Лагранжа
Многочлен Лагранжа можно записать в виде:
L
(x) = y0 Q0(x) + y1 Q1(x) + … + yn Qn(x).
n
При этом функция Q
(x) должна удовлетворять условиям
i
)(Q
x
ji
Легко проверить, что такой многочлен имеет вид
x
)(Q
i
В точках х0, x1, … , x точке x
равна единице.
i
, x
, … , xn функция Qi(x) обращается в ноль, а в
i-1
i+1
Окончательно можно получить следующее выражение:
72
; если ,0
ji
. если 1,
ji
xxxxxxxxxx
1110
1110
))...()()...()((
nii
.
xxxxxxxxxx
))...()()...()((
niiiiiii
yxL
)(
n
0
1
y
n
n
y
1
xxxx
))...((
010
n
20
))...(()(
xxxxxx
110
n
))...(()(
xxxxxx
110
nnnn
.
xxxx
))...((
xxxxxx
))...(()(
n
...
xxxxxx
12101
))...(()(
n
Этот многочлен называется интерполяционным многочленом Лагранжа.
В сокращенном виде его можно записать так:
n
yxL
)(
in
i
0
Пример. Построить интерполяционный многочлен Лагранжа для функции, заданной
таблично:
1 2 3 5
х
y 1 5 14 81
Решение. Подставляем исходные данные в формулу Лагранжа; степень полученного
многочлена Лагранжа не выше третьей, так как функция задается четырьмя значениями:
)5)(3)(2(
1)(
xL
3
Пример. Функция f(x) задана таблично:
Пользуясь интерполяционным многочленом Лагранжа, найти ее значение в точке х = 4.
5
)51)(31)(21(
81
xxx
х
y
xxx
0 1 2 6
-1 -3 3 1187
)3)(2)(1(
)35)(25)(15(
)5)(3)(1(
14
)52)(32)(12(
23
xxxxxxxx
))...()()...((
110
110
nii
xxxxxxxx
))...()()...((
niiiiii
.
)5)(2)(1(
xxxxxxxxx
)53)(23)(13(
.132
Решение. Подставляя в формулу Лагранжа х = 4, получаем:
)64)(24)(14(
1)(
xL
3
3
)60)(20)(10(
1187
 
)64)(24)(04(
3
)61)(21)(01(
)24)(14)(04(
.255
)26)(16)(06(
)64)(14)(04(
)62)(12)(02(
Если в рассмотренном примере добавить к таблице еще одну точку, то вычисление значения функции при х = 4 придется производить заново. Кроме того, из самого примера видно, что процесс получения приближенного значения функции по интерполяционной формуле Лагранжа связан с большими вычислениями. Это приводит к необходимости упрощения вычислительной работы.
Для удобства вычислений составляют
вспомогательную таблицу:
73
x-x0 x0-x1 x0-x2 … x0-xn k

x1-x0 x-x1 x1-x2 … x1-xn k
x2-x0 x2-x1 x-x
x2-xn k
2
0
1
2
… … … … … …
xn-x0 xn-x1 xn-x2 … x-x
k
n
n
где x0 , x1 , x2 , … , xn – узлы интерполяции, а х – значение аргумента, для которого определяется приближенное значение по интерполяционной формуле Лагранжа.
Через k
обозначают произведение элементов первой строки:
0
k0 = (x – x0)(x
0 – x1
)(x
0 – x2
) … (x
0 – xn
).
В общем виде произведение элементов i-й строки есть
ki = (x
i – x0
)(x
i – x1
) … (x
i – xi-1
)(x – xi)(x
i – xi+1
) … (x
i – xn
).
Дополнительно вычисляют произведение элементов, расположенных на
главной диагонали (в выделенных ячейках):
))...()(()(
xxxxxxx
1nn
10
.
Тогда интерполяционный многочлен Лагранжа можно переписать в виде
n
y
n
xxL
1
n
i
)()(
k
0
i
i
Для предыдущего примера:
240)2(456
L3(4)
48)6()2()1(4
15)5()1(31 
16)4(212 
4-0=4 0-1=-1 0-2=-2 0-6=-6
1-0=1 4-1=3 1-2=-1 1-6=-5
2-0=2 2-1=1 4-2=2 2-6=-4
6-0=6 6-1=5 6-2=4 4-6= -2
Величина
4
x
.48)2(234)(
Приближенное значение функции в точке х = 4, т. е. f(4)
определяется по формуле
3
y
i
L
3
4
i
48)4()4(
k
0
i
3
1
 
48
74
15
1187
3
16
240
.255
 
7.2. Конечные разности
Табулирование функций в большинстве случаев производится для равноотстоящих значений аргумента, т. е. xi = x0 + ih, где i = 0,1,2, … , n, а h – шаг интерполяции. Для вывода интерполяционных формул для равноотстоящих узлов вводят понятие конечной разности.
Задача: для функции y = f(x), заданной таблично своими значениями
= f(x0) , y1 = f(x1) , … , yn = f(xn)
y
0
в равноотстоящих узлах интерполяции, построить таблицу конечных разностей.
Конечной разностью первого порядка называется разность между значениями функции в соседних узлах интерполяции. Тогда конечные разности в точках х
, x1 , x2 , … , x
0
определяются соответственно как
n-1
= y1 – y0 = f(x1) – f(x
y
o
y
= y2 – y1 = f(x2) – f(x
1
y
= y3 – y2 = f(x3) – f(x
2
) = f(x
0
) = f(x
1
) = f(x
2
… … … … …
);
0
);
1
);
2
y
= yn – y
n-1
= f(xn) – f(x
n-1
) = f(x
n-1
n-1
),
где h = const.
В общем виде первая конечная разность запишется так:
= y
y
– yi
i
i+1
или
y = f(x) = f(x + x) – f(x).
Из конечных разностей первого порядка можно образовать конечные разности второго порядка:
2
y
= y
y
i
i+1
i..
В общем виде конечная разность n-го порядка записывается следующим образом:
n
y = (
n-1
y).
Конечные разности обычно принято записывать в единицах последнего знака соответствующей конечной разности без нулей впереди.
Для данного примера:
75
x y
xxxxx
y
2
y 3y
1,70 5,4739 551 4 3
1,71 5,5290 555 7 -3
1,72 5,5845 562 4
1,73 5,6407 566
1,74 5,6973
Конечные разности различных порядков удобно располагать в форме
таблиц двух видов:
горизонтальной таблицы разностей
x y
x
0
x
1
x
2
… …
y
0
y
1
y
2
y yyy
2
2y0 3y
0
2y1 3y
1
2y2 3y
2
… …
y 3y
0
1
2
или диагональной таблицы разностей:
x y
x
0
y
0
x
1
y
1
x
2
y
2
x
3
y
3
… …
y
y
y
y
0
2y
1
2y
2
… …
2
y 3y
0
3y
0
1
7.3 Первая интерполяционная формула Ньютона для равноотстоящих узлов
Вычисление значений функции для значений аргумента, лежащих в начале таблицы, удобно проводить, пользуясь первой интерполяционной формулой Ньютона.
Пусть функция f(x) задана значениями
= f(x0) , y1 = f(x1) , … , yn = f(xn)
y
0
в равноотстоящих узлах интерполяции x Требуется построить интерполяционный многочлен P
P
(x) = y0 , Pn(x1) = y1 , … , Pn(x) = yn.
n
, x1 = x0 + h , … , xn = x0 + nh.
0
(x) степени n такой, что
n
В силу единственности многочлена степени n, построенного по n + 1 значениям функции f(x), многочлен P
(x) является разновидностью записи
n
76
интерполяционного многочлена и в конечном счете совпадает с многочленом,
xxxxx
полученным по формуле Лагранжа.
Первая интерполяционная формула Ньютона для равноотстоящих узлов
выглядит следующим образом:
2
y
)(
n
0
yxP
0
xx
!1
h
y
0
)(
0
2
h
!2
xxxx
10
n
y
0
...))((
n
hn
!
).)...()((
xxxxxx
110
n
На практике часто используют формулу Ньютона в другом виде. Для этого
вводят переменную q = (x – x
) / h, где h – шаг интерполяции, а q – число шагов.
0
Тогда первая интерполяционная формула Ньютона примет следующий вид:
)1(qq

n
q)( y
00
2
!2

...
yyyxP
)1q)...(1(qq
n
!
n
n

.00
.
Полученную формулу удобно использовать для интерполирования в
начале отрезка интерполяции [a, b], где q мало по абсолютной величине.
Если за число узлов интерполяции принять n = 1, то получают формулу
линейного интерполирования:
P(x) = y + q * y0.
При n = 2 получают формулу параболического или квадратичного,
интерполирования
)1(qq
q)( yyyxP 

002
Пример. Имеются следующие данные:
x y
1 -2
3 20
5 66
7 150
Решение 1. Построить интерполяционный полином по первым трем узлам:
Вычисляем необходимые конечные разности:
x y
y
2
y 3y
1 -2 22 24 14
3 20 46 38
5 66 84
7 150
2
y
)(
0
yxP
02
!1
h
y
0
)(
xx
0
2
!2
h
22
10
.43912311112
2
.
2
2))((
0
22
21
24
)1(
2
22
)3)(1(
xxxxxxx
Решение 2. Ввести в полином еще одну точку. В этом случае пересчитывать
полученное уравнение не потребуется:
77
3
y
xPxP
)()(
23
!3
2
0
3
h
14
43
3
26
23
xxxx
.374.87068.53756.02916.0)1523
9)(6(291.043)5)(3)(1(
Вторая формула Ньютона для равноотстоящих узлов
2
y
1
)(
n
yxP
nn
!1
h
y
2
n
)(
xx
n
2
!2
h
xxxx
nn
1
n
y
0
...))((
n
!
hn
nn
xxxxxx
7.4 Разделенные разности
При проведении приближенных вычислений, когда значения функции задаются в неравноотстоящих узлах интерполяции, вводят понятие разделенной разности, обобщающее понятие конечной разности.
Отношения
yy
01
xx
10
xx
xx
01
21
yy
12
xx
12
xx
];[,...,];[,];[
ii
1
называются разделенными разностями первого порядка.
Разделенные разности второго порядка можно определить как следующие отношения:
xxxx
];[];[
xxx
];;[
210
1021
,
xx
02
yy
ii
1
xx
ii
1
232
xxxxxxxxx
))...()((
11
xxxx
];[];[
xxx
];;[
321

];;[
xxx
21
iii
Зная разделенную разность (k – 1)-го порядка [xi, x
2132
,
xx
 
2
13
];[];[
xxxx
121
iiii
.
xx
ii
, … , x
i+1
], можно
i+k-1
определить разделенную разность k-го порядка следующим образом:
];...;;[];...;;[
];...;;[
xxx
kiii
1
Пример. Составить таблицу разделенных разностей для следующих значений х и y:
78
xx
iki
xxxxxx
kiiikiii
1121
.
x 1 3 5 7
-2 20 66 150
y
Решение. Разделенные разности первого порядка:
yy
];[
xx
10
xx
21
];[
xx
32
01
];[
xx
 
 
xx
01
yy
12
xx
12
yy
23
23
Разделенные разности второго порядка:
];[];[
xxxx
];;[
xxx
210
];;[
xxx
321
 
xx
1021
xx
02
];[];[
xxxx
2132
13
Разделенная разность третьего порядка:
)2(20
.11
13
2066
35
57
.23
66150
.42
1123
.3
15
19
2342
37
.75,4
4
];;[];;[
xxxxxx
210321
03
i+1;xi+2
375.4
17
] [xi;x
xi yi
];;;[
xxxx
3210
[xi;x
 
xx
] [xi;x
i+1
x0=1 y0= -2
10
xx
11];[
x1=3 y1=20
21
23];[
xx
x2=5 y2=66
32
xx
42];[
xxx
3];;[
210
xxx
75.4];;[
321
x3=7 y3=150
79
).6(291?0
i+1;xi+2;xi+3
xxxx
3210
]
)6(291.0];;;[
7.5 Первая интерполяционная формула Ньютона для неравноотстоящих узлов
Пусть функция f(x) задана значениями
y
= f(x0) , y1 = f(x1) , … , yn = f(xn)
0
в неравноотстоящих узлах интерполяции x интерполяционную формулу Ньютона для неравноотстоящих узлов интерполяции, так чтобы в узлах интерполяции
y
= P(x0) , y1 = P(x1) , … , yn = P(xn).
0
Интерполяционный многочлен Ньютона для неравноотстоящих узлов
интерполяции выглядит следующим образом:
P(x) = P(x
Пример. Для вышеприведенных значений по первым трем узлам интерполяции:
) + [x0;x1](x x0) + [x0;x1;x2](xx0)(xx1) +…+ [x0;x1;…;xn](xx0)(x
0
x
)…(xx
1
, x1 , … , xn. Требуется построить
0
)
n-1
P2(x) = P(x0) + [x0;x1](xx0) + [x0;x1;x2](xx0)(xx1) = -2 + 11 (x – 1) + 3 (x – 1) (x
3) = -2 + 11x – 11 + 3x
В результате получился тот же ответ, что и в предыдущих случаях.
Преимущество формулы Ньютона по сравнению с формулой Лагранжа заключается в том, что добавление новых узлов не приводит к проведению расчетов заново. Так, если добавить четвертую точку, то можно получить:
P
(x) = Р2(х) + [x0;x1;x2;x3](x-x0)(xx1)(x-x2) = 3x2 – x – 4 + 0,2916 (x – 1) (x – 3) (x
3
2
5) = 3x
x – 4 + 0.2916 (x3 – 9x2 + 23x -15) = 0,2916x3 + 0,3756x2 + 5,7068x – 8,374.
Для проверки в это уравнение надо подставить имеющиеся значения аргумента. В результате будут получены исходные значения функции.
2
– 12x + 9 = 3x2 – x – 4.
7.6 Задания по теме: интерполирование
1. По имеющимся трем узлам интерполяции построить интерполирующую зависимость с использованием полиномов Лагранжа.
2.
Рассчитать значение функции в промежуточной точке Х
a)
построенной зависимости;
b)
методу Лагранжа без использования интерполирующей зависимости.
3.
Добавив точку x
4равноотс.
и y
4равноотст.
достроить полученную
интерполяционную зависимость (пункт 1) с использованием полиномов Ньютона для равноотстоящих узлов. Составить таблицу конечных разностей.
80
расч
по
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]