ВМ_LABS / ЛР1_ИнтерполяцияP
.pdf1
Лабораторная работа № 1
ПРИБЛИЖЕНИЕ ФУНКЦИЙ
1. Постановка задачи.
Пусть на отрезке [a, b] в некоторых попарно различных точках x0, x1,..., xn известны значения функции f(x).
Задача интерполирования функции f(x) состоит в том, чтобы найти значение f(x), x ¹ xi , (i = 01,,..., n), если известны узлы интерполирования x0, x1,..., xn и значения функции f(x) в этих
узлах.
Очевидный приём решения этой задачи – вычислить значение f(x), воспользовавшись аналитическим выражением функции f. Этот прием, однако, можно применить лишь в случае, когда аналити- ческое выражение f пригодно для вычислений. Более того, часто аналитическое выражение функцииf вовсе неизвестно. В этих случа- ях применяется особый приём – построение по исходной информа- ции приближающей функции F , которая в некотором смысле близка к функцииf и аналитическим выражением которой можно восполь- зоваться для вычислений, считая приближённо, что
f(x) = F(x). (1.1)
Классический подход к решению задачи построения прибли- жающей функции F(x) основывается на требовании строгого сов- падения значений f(x) и F(x) в точках xi ,(i = 01,,..., n), т.е.
F(x0 ) = y0, F(x1 ) = y1,..., F(xn ) = yn . (1.2)
В этом случае нахождение приближённой функции называют интер-
поляцией (или интерполированием), а точки x0, x1,..., xn – узлами
интерполяции.
2. Интерполяционный многочлен Лагранжа.
Пусть функция f задана таблицей на отрезке [a, b]. Интерполя- ционный многочлен L n (x) степени не выше n по системе алгеб-
раических многочленов 1, x, x2,..., xn можно задать по формуле Ла-
гранжа
PDF created with pdfFactory Pro trial version www.pdffactory.com
2
n |
ω(x) |
|
|
Ln (x) = å |
|
× f(xk ), (2.1) |
|
(x - xk ) × w¢(xk ) |
|||
k=0 |
|
||
где |
n |
|
|
|
|
||
w(x) = ∏ (x - xk ). |
(2.2) |
||
|
k=0 |
|
Разность rn (x) = f(x) − L n (x) называется погрешностью ин-
терполирования или остаточным членом интерполирования. В
узлах интерполирования погрешность rn (x) обращается в нуль, в ос- тальных точках она отлична от нуля, но если f(x) – многочлен сте- пени k, а число узлов интерполирования n +1 > k , то rn (x) ≡ 0. Если функция f(x) имеет непрерывную n +1-ю производную, то
возможно представление остаточного члена вида
rn (x) = |
f(n+1) (x) |
|
× w(x), (2.3) |
|
(n +1)! |
||||
где ξ – некоторая точка, |
|
|||
лежащая на отрезке, содержащем узлы |
x0, x1,..., xn и точку x.
Из формулы (2.3) видно, что для данной функции f(x) погреш- ность интерполирования зависит от выбора узлов x0, x1,..., xn на отрезке [a, b], и можно выбрать узлы интерполирования таким обра-
зом, чтобы |
|
w(x) |
|
= |
|
|
|
|
|
w(x) |
|
|
max |
|
|
|
min max |
|
|
. |
|||||
|
|
|||||||||||
a ≤x≤b |
|
|
|
|
|
(x0 ,x1,...,xn ) a ≤x≤b |
|
|
|
|
||
|
= max |
|
|
|||||||||
Если принять M n+1 |
|
|
f(n+1) (x) |
|
, то для подсчёта погреш- |
|||||||
|
|
|
||||||||||
|
|
x0≤x≤xn |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
ности метода интерполирования по формуле Лагранжа непосредст-
венно применима следующая оценочная формула
r (x) |
|
£ |
Mn+1 |
|
× |
|
ω(x) |
|
|
|
|
|
|
|
|||||
|
|
|
|||||||
|
|
|
|
||||||
n |
|
|
(n +1)! |
|
|
|
|
. |
|
|
|
|
|
|
|
|
PDF created with pdfFactory Pro trial version www.pdffactory.com
3
3. Интерполяционные многочлены Ньютона для равноотстоящих узлов.
3.1. Конечные разности и разностные отношения.
Пусть заданы равноотстоящие узлы xk = x0 + k × h k = 012, , ,... и значения функции f(xk ) = fk , h > 0.
Конечными разностями первого порядка называются величины
Df(xi ) = Dfi = fi+1 - fi , i = 012, , ,...
Конечные разности второго порядка определяются равенствами
|
|
|
2f(xi ) = |
|
( |
|
fi ) = |
|
fi+1 − |
|
fi , i |
= 012, , ,... |
|
||||||||||||||||||
Конечные разности (n +1)-го порядка определяются через раз- |
|||||||||||||||||||||||||||||||
ности n-го порядка по формуле |
|
|
|
|
|
nfi , i = 012, |
, ,... |
|
|
|
|||||||||||||||||||||
|
|
|
|
|
n+1fi |
= |
|
|
nfi+1 − |
|
|
|
|
||||||||||||||||||
Имеет место следующее равенство |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
f(x |
|
) = f |
|
= f + |
n |
|
f |
|
+ |
n(n -1) |
|
|
2f |
|
+...+ |
n f . |
|||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
n |
|
|
n |
|
|
|
0 |
1! |
|
|
0 |
|
2! |
|
|
|
|
0 |
|
|
|
0 |
|||||||
Разностными отношениями первого порядка называются вели- |
|||||||||||||||||||||||||||||||
чины |
|
|
|
f(x1 ) − f(x0 ) |
|
|
|
|
|
|
|
f(x2 ) − f(x1) |
|
||||||||||||||||||
f(x |
, x ) = |
, |
f(x , x |
2 |
) = |
, ..., |
|||||||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||||
0 |
|
|
1 |
|
|
|
x1 − x0 |
|
|
|
|
1 |
|
|
|
|
x2 − x1 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
узлы xk произвольные. |
По ним составляются разностные отноше- |
||||||||||||||||||||||||||||||
ния второго порядка: |
|
|
|
|
|
|
|
|
|
f(x1, x2 ) − f(x0, x1) |
|
|
|
||||||||||||||||||
|
|
|
f(x |
, x , x |
) = |
, |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
0 |
|
|
1 |
2 |
|
|
|
|
|
|
|
x2 − x0 |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
f(x , x |
2 |
, x |
) = |
f(x2, x3 ) − f(x1, x2 ) |
, ... |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
1 |
|
|
3 |
|
|
|
|
|
|
|
|
|
x3 − x1 |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Разностные отношения порядка n + 1 (n = 12,,... ) определяют-
ся при помощи разностных отношений предыдущего порядка n по
формуле
f(x |
, x ,..., x |
n+1 |
) = |
f(x1, x2,..., xn+1) − f(x0, x1,..., xn ) |
. |
|
|
||||||
0 |
1 |
|
xn+1 |
− x0 |
||
|
|
|
|
При всяком n верно равенство
|
n |
|
f(xi ) |
|
f(x0 |
,x1,...,xn+1) = å |
|
|
|
(xi |
− x0 )...(xi − xi−1)(xi − xi+1)...(xi − xn ) |
|||
|
i=0 |
PDF created with pdfFactory Pro trial version www.pdffactory.com
4
Последнее равенство позволяет утверждать, что разностные от- ношения являются симметричными функциями своих узлов.
Для равноотстоящих узлов xk = x0 + kh, k = 01,,2,..., имеет
место соотношение между |
|
разностными отношениями и конечными |
||||||
разностями |
|
|
|
|
Dk f0 |
|
|
|
f(x |
0 |
, x ,..., x |
k |
) = |
|
, k = 01,,2,... . (3.1.1) |
||
|
||||||||
|
1 |
|
hk × k ! |
|
||||
|
|
|
|
|
|
Конечная разность порядка n от многочлена степени n равна постоянной величине, и, следовательно, все разности более высокого порядка равны нулю. Аналогичное свойство имеет место также для разностных отношений.
С помощью разностных отношений строится другая формула интерполяционного многочлена – интерполяционный многочлен Ньютона:
|
L n (x) = f(x0 ) + (x |
− x0 )f(x0, x1 ) + |
|
|
|
+ (x − x0 )(x − x1 )f(x0, x1, x |
2 )+...+ |
(3.1) |
|
|
+ (x - x0 )(x - x1 )...(x - xn−1 )f(x |
0, x1,..., xn ), |
||
|
|
|||
где |
Ln (xk ) = f(xk ),(k = 01,,..., n). |
Остаточный |
член |
rn (x) = f(x) − L n (x) в этом случае можно выразить через разде-
лённую разность:
rn (x) = f(x, x0, x1,..., xn )(x − x0 )(x − x1)...(x − xn ).
Формулой Ньютона (3.1) удобно пользоваться для интерполиро- вания одной функции с меняющейся системой узлов: при добавлении
нового узла xn+1 нужно вычислить только одно слагаемое
(x − x0 )...(x − xn )f(x0, x1,..., xn+1) и добавить его к предыдущей
сумме.
В случае равноотстоящих узлов имеется много различных фор- мул, построение которых зависит от расположения точки интерполи- рования x по отношению к узлам интерполирования.
PDF created with pdfFactory Pro trial version www.pdffactory.com
5
3.2. Интерполяционная формула Ньютона для интерполирования в начале таблицы.
Пусть функция f(x) задана таблицей значений fk = f(xk ) в равноотстоящих точках xk = x0 + k × h (k = 012, , ,...) и точка ин- терполирования x находится вблизи от начальной точки x0 . Введём новую переменную t , положив x = x0 + t × h, t = (x - x0 ) / h . Ис-
пользуя (3.1) и соотношения (3.1.1) между разностными отношения- ми и конечными разностями, получаем интерполяционную формулу
Ньютона для интерполирования в начале таблицы
|
f(x) = f(x |
0 |
+ th) = f |
0 |
|
+ |
|
t |
|
|
f |
0 |
+ t(t −1) 2f |
0 |
+ ...+ |
|
|
|
1! |
||||||||||||||
|
|
|
|
|
|
2! |
|
|
||||||||
|
+ t(t −1)...(t − n +1) |
|
nf |
0 |
+ r (x), |
|
(3.2.1) |
|||||||||
|
|
|
n! |
|
|
|
|
|
|
|
n |
|
|
|||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| t(t -1)×...×(t - n) | |
|
|
|
|||||||||
|
|
|
| r (x) |≈ |
|
n+1f. |
|||||||||||
|
|
|
|
|||||||||||||
|
|
|
n |
|
|
|
|
|
|
|
(n +1)! |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Здесь |
n+1f = max | n+1fm |. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
0≤m≤n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.3. Интерполяционная формула Ньютона для интерполирования в конце таблицы.
Если точка интерполирования находится вблизи конца таблицы узлов, то узлы интерполирования естественно брать в порядке
xn , xn |
- h, xn - 2h,.... |
Введя |
переменную t и положив |
|||||||||
x = xn |
+ t × h, получим формулу Ньютона для интерполирования в |
|||||||||||
конце таблицы |
|
t |
|
|
|
|
t(t +1) |
|
|
|||
|
f(x) = f(xn + th) = fn |
+ |
|
|
fn −1 |
+ |
|
2fn −2 + ...+ |
||||
|
|
|
|
|
||||||||
|
|
t(t +1)...(t + n −1) |
1! |
|
2! |
|
(3.3.1) |
|||||
|
+ |
nf |
|
|
+ r (x), |
|||||||
|
|
|
0 |
|
||||||||
|
|
n! |
|
|
n |
|
|
|
|
|||
где |
|
|
|
|
|
|
|
|
|
|
||
|
|
| t(t +1)×...×(t + n) | |
|
|||||||||
|
|
| r (x) |≈ |
n+1f. |
|||||||||
|
|
|
||||||||||
|
|
n |
|
|
|
|
(n +1)! |
|
||||
|
|
|
|
|
|
|
|
|
||||
Здесь |
n+1f = max | n+1fm |. |
|
|
|
|
|
|
|
|
|
||
|
|
0≤m≤n |
|
|
|
|
|
|
|
|
|
PDF created with pdfFactory Pro trial version www.pdffactory.com
6
4. Уплотнение таблиц функций.
Интерполирование может применяться для уплотнения заданной таблицы функции, т.е. вычисления по исходной таблице новой таб-
лицы с большим числом значений аргумента на прежнем участке его изменения. Эту операцию называют иногда субтабулированием функции.
∙В случае, когда исходная таблица является таблицей с постоян- ным шагом, естественно применять интерполяционный многочлен Ньютона.
∙При заданном числе узлов (т.е. при условии, что конечные раз- ности и степень полинома определены вручную) для расчётов на ЭВМ формулы Ньютона удобно представлять по схеме Горнера. Так,
интерполяционная формула Ньютона для интерполирования в начале таблицы может быть представлена в виде:
P (x) = y |
|
|
+ t( y |
|
+ |
t −1 |
|
( |
2y |
|
+ |
t − 2 |
( |
3y |
|
+...+ |
|
0 |
0 |
|
0 |
|
0 |
||||||||||||
n |
|
2 |
|
|
|
3 |
|
|
|
||||||||
|
t − n +1 |
|
|
|
|
|
|
|
|
|
|
|
|||||
+ |
|
n y0 ))... ). |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Использование схемы Горнера позволяет вычислять значение Pn (x)
вцикле.
∙Если же максимальный порядок используемых конечных раз-
ностей невелик, для вычисления значений Pn (x) могут использо- ваться формулы Ньютона в их стандартном виде (3.2.1), (3.3.1).
PDF created with pdfFactory Pro trial version www.pdffactory.com
7
Содержание отчёта (по каждому из заданий):
∙ручное решение;
∙решение в MS Excel;
∙программа решения на языке Turbo Pascal.
Задание 1. Построить интерполяционный многочлен Лагранжа по известной таблице значений функции. Вычислить значение функции в задан- ной точке.
Вар. |
|
Таблица значений |
|
Новое значение |
|||
|
|
аргумента x |
|||||
|
|
|
|
|
|
||
1 |
x |
0 |
1 |
3 |
4 |
2 |
|
f(x) |
1 |
1.382 |
0.28 |
– 2.762 |
|||
|
|
||||||
2 |
x |
14 |
17 |
31 |
35 |
20 |
|
f(x) |
0.991 |
– 0.961 |
– 0.404 |
– 0.428 |
|||
|
|
||||||
3 |
x |
0.5 |
0.6 |
0.7 |
0.8 |
0.655 |
|
f(x) |
0.352 |
0.534 |
0.762 |
1.039 |
|||
|
|
||||||
4 |
x |
1 |
1.2 |
1.4 |
1.6 |
1.35 |
|
f(x) |
1.209 |
1.704 |
2.277 |
2.882 |
|||
|
|
||||||
5 |
x |
0.1 |
0.2 |
0.3 |
0.4 |
0.15 |
|
f(x) |
1.1 |
1.197 |
1.29 |
1.374 |
|||
|
|
||||||
6 |
x |
– 0.8 |
0.4 |
2.8 |
4 |
1 |
|
f(x) |
2.142 |
– 0.282 |
0.142 |
1.05 |
|||
|
|
||||||
7 |
x |
1.2 |
1.9 |
3.3 |
4.7 |
3.99 |
|
f(x) |
5.094 |
5.271 |
– 0.387 |
– 4.779 |
|||
|
|
||||||
8 |
x |
2.1 |
3.7 |
4.5 |
6.1 |
5 |
|
f(x) |
– 0.419 |
– 0.901 |
– 0.309 |
0.965 |
|||
|
|
||||||
9 |
x |
1.45 |
1.36 |
1.14 |
0.11 |
1.2 |
|
f(x) |
2.296 |
2.128 |
1.787 |
1.185 |
|||
|
|
||||||
10 |
x |
2.8 |
4 |
6.4 |
7.6 |
3.5 |
|
f(x) |
0.087 |
0.733 |
2.849 |
2.279 |
|||
|
|
||||||
11 |
x |
6.1 |
7.5 |
8.2 |
9.6 |
7 |
|
f(x) |
– 4.357 |
4.81 |
1.927 |
3.341 |
|||
|
|
||||||
12 |
x |
– 2 |
1 |
2 |
4 |
2.89 |
|
f(x) |
– 28 |
17 |
56 |
350 |
|||
|
|
||||||
13 |
x |
11 |
13 |
14 |
18 |
17.5 |
|
f(x) |
1.741 |
1.783 |
1.802 |
1.872 |
|||
|
|
||||||
14 |
x |
93 |
96.2 |
104.2 |
108.7 |
100 |
|
f(x) |
11.231 |
7.947 |
5.887 |
8.877 |
|||
|
|
PDF created with pdfFactory Pro trial version www.pdffactory.com
8
Задание 2. Записать необходимый для дальнейших расчетов многочлен Ньюто- на по известной таблице значений функции. Определить значение аргумента x , соответствующее указанному значению функции.
Вар. |
|
Таблица значений |
|
Новое значение |
|||
|
|
функции f(x) |
|||||
|
|
|
|
|
|
||
1 |
x |
1 |
2 |
3 |
4 |
23.095 |
|
f(x) |
8 |
19 |
42 |
101 |
|||
|
|
||||||
2 |
x |
– 4 |
– 1 |
2 |
5 |
– 20 |
|
f(x) |
101 |
8 |
– 9.889 |
– 24.996 |
|||
|
|
||||||
3 |
x |
– 7 |
– 6 |
– 5 |
– 4 |
1.6 |
|
f(x) |
1.946 |
1.792 |
1.609 |
1.386 |
|||
|
|
||||||
4 |
x |
– 3 |
– 1 |
1 |
3 |
5.3 |
|
f(x) |
8 |
6 |
4 |
1 |
|||
|
|
||||||
5 |
x |
1 |
2 |
3 |
4 |
5 |
|
f(x) |
1 |
7 |
29 |
33 |
|||
|
|
||||||
6 |
x |
– 2 |
– 1 |
0 |
1 |
10.7 |
|
f(x) |
12 |
3 |
– 1 |
– 5 |
|||
|
|
||||||
7 |
x |
1 |
2 |
3 |
4 |
1.8 |
|
f(x) |
– 18 |
– 11 |
– 1 |
5 |
|||
|
|
||||||
8 |
x |
– 4 |
– 1 |
2 |
5 |
– 23.4 |
|
f(x) |
– 26 |
– 17 |
– 3 |
14 |
|||
|
|
||||||
9 |
x |
– 2 |
– 1 |
0 |
1 |
12.8 |
|
f(x) |
21 |
17 |
11 |
5 |
|||
|
|
||||||
10 |
x |
1/3 |
2/3 |
1 |
5/3 |
0.423 |
|
f(x) |
0.26 |
0.5 |
0.71 |
0.97 |
|||
|
|
||||||
11 |
x |
– 2 |
– 1 |
0 |
1 |
8.4 |
|
f(x) |
12 |
3 |
– 1 |
– 5 |
|||
|
|
||||||
12 |
x |
– 6 |
– 3 |
0 |
3 |
9.5 |
|
f(x) |
21 |
17 |
5 |
2 |
|||
|
|
||||||
13 |
x |
– 3 |
– 2 |
– 1 |
0 |
9.2 |
|
f(x) |
– 21 |
– 10 |
3 |
11 |
|||
|
|
||||||
14 |
x |
– 4 |
– 2 |
0 |
2 |
– 1.45 |
|
f(x) |
43 |
37 |
25 |
– 4 |
|||
|
|
PDF created with pdfFactory Pro trial version www.pdffactory.com
9
Задание 3. Уплотнить таблицу с заданным шагом на заданном участке.
Вар. |
|
Таблица значений |
|
Участок |
Шаг уплот- |
|||
|
|
уплотнения |
нения |
|||||
|
|
|
|
|
|
|||
1 |
x |
– 2 |
– 1 |
0 |
1 |
[– 2,– 1] |
0.1 |
|
f(x) |
– 26 |
– 17 |
– 3 |
14 |
||||
|
|
|
||||||
2 |
x |
– 5 |
– 3 |
– 1 |
1 |
[– 3,– 1] |
0.2 |
|
f(x) |
12 |
3 |
– 1 |
– 5 |
||||
|
|
|
||||||
3 |
x |
2 |
3 |
4 |
5 |
[4,5] |
0.1 |
|
f(x) |
21 |
17 |
5 |
3 |
||||
|
|
|
||||||
4 |
x |
– 2 |
0 |
2 |
4 |
[0,2] |
0.2 |
|
f(x) |
– 34 |
– 21 |
– 10 |
3 |
||||
|
|
|
||||||
5 |
x |
1 |
3 |
5 |
7 |
[3,5] |
0.2 |
|
f(x) |
37 |
25 |
– 4 |
– 13 |
||||
|
|
|
||||||
6 |
x |
– 3 |
– 2 |
– 1 |
0 |
[– 1,0] |
0.1 |
|
f(x) |
8 |
6 |
4 |
1 |
||||
|
|
|
||||||
7 |
x |
0 |
1 |
2 |
3 |
[1,2] |
0.1 |
|
f(x) |
1 |
7 |
23 |
29 |
||||
|
|
|
||||||
8 |
x |
– 4 |
– 2 |
0 |
2 |
[– 4,– 2] |
0.2 |
|
f(x) |
8 |
19 |
42 |
67 |
||||
|
|
|
||||||
9 |
x |
– 3 |
– 1 |
1 |
3 |
[– 3,– 1] |
0.2 |
|
f(x) |
– 18 |
– 11 |
1 |
4 |
||||
|
|
|
||||||
10 |
x |
0 |
2 |
4 |
6 |
[4,6] |
0.2 |
|
f(x) |
– 26 |
– 17 |
– 3 |
14 |
||||
|
|
|
||||||
11 |
x |
– 4 |
– 3 |
– 2 |
– 1 |
[– 3,– 2] |
0.1 |
|
f(x) |
21 |
17 |
11 |
5 |
||||
|
|
|
||||||
12 |
x |
2 |
3 |
4 |
5 |
[2,3] |
0.1 |
|
f(x) |
8 |
6 |
5 |
3 |
||||
|
|
|
||||||
13 |
x |
– 1 |
0 |
1 |
2 |
[0,1] |
0.1 |
|
f(x) |
12 |
3 |
– 1 |
0 |
||||
|
|
|
||||||
14 |
x |
– 2 |
0 |
2 |
4 |
[0,2] |
0.2 |
|
f(x) |
8 |
19 |
42 |
101 |
||||
|
|
|
PDF created with pdfFactory Pro trial version www.pdffactory.com