Вычислительная математика. Ч. 2. Асламова В.С - 4 стр.

UptoLike

7
Мерой отклонения многочлена
)(x
ϕ
от заданной функции f(x) на множе-
стве точек
),(
ii
yx
(
ni ,,1,0 K
=
) при среднеквадратичном приближении
является величина S, равная сумме квадратов разностей между значениями
многочлена и функции в данных точках:
=
ϕ=
n
i
ii
yxS
0
2
])([
. (1.4)
Для построения аппроксимирующего многочлена нужно подобрать коэф-
фициенты
n
aaa ,,,
10
K
так, чтобы величина S была наименьшей. В этом со-
стоит суть метода наименьших квадратов.
1.1. Многочлен Лагранжа
Рассмотрим случай построения интерполяционного многочлена, единого
для всего отрезка [x
0
, x
n
]. При этом график интерполяционного многочлена
должен проходить через все заданные точки.
Запишем искомый многочлен в виде:
n
n
xaxaax +++=ϕ K
10
)(
(1.5)
Из условий равенства этого многочлена в узлах x
i
соответствующим за-
данным табличным значениям y
i
, получим следующую систему линейных
уравнений для нахождения коэффициентов а
0
, а
1
,…, а
n
:
=+++
=+++
=+++
n
n
nnn
n
n
n
n
yxaxaa
yxaxaa
yxaxaa
K
KKKKKKKKK
K
K
10
11110
00010
(1.6)
Можно показать, что эта система имеет единственное решение, если среди
узлов интерполяции нет совпадающих, т.е. если
ki
xx
при
ki
. Решив
эту систему, найдём коэффициенты интерполяционного многочлена (1.5).
Заметим вместе с тем, что такой путь построения интерполяционного много-
члена требует значительного объёма вычислений, особенно при большом
числе узлов. Существуют более простые алгоритмы построения интерполя-
ционных многочленов.
Будем искать многочлен в виде линейной комбинации многочленов сте-
пени n:
8
)()()()(
1100
xlyxlyxlyxL
nn
+
+
+
=
K
. (1.7)
При этом потребуем, чтобы каждый многочлен l
i
(x) обращался в нуль во
всех узлах интерполяции, за исключением одного i-го узла, где он должен
равняться единице. Легко проверить, что этим условиям отвечает многочлен
вида
)())((
)())((
)(
02010
21
0
n
n
xxxxxx
xxxxxx
xl
=
K
K
. (1.8)
Действительно, l
0
(x
0
) = 1 при x = x
0
. При х = х
1
, х
2
,…,х
n
числитель выраже-
ния (1.8) обращается в нуль. По аналогии с (1.8) получим
KKKKKKKKKKKKKKKKKKK
KK
KK
KKKKKKKKKKKKKKKKKKK
K
K
K
K
,
)())(()(
)())(()(
)(
,
)())()((
)())()((
)(
,
)())((
)())((
)(
110
110
2321202
310
2
12101
20
1
niiiiii
nii
i
n
n
n
n
xxxxxxxx
xxxxxxxx
xl
xxxxxxxx
xxxxxxxx
xl
xxxxxx
xxxxxx
xl
=
=
=
+
+
(1.9)
Подставляя в (1.7) выражения (1.8), (1.9), находим
=
=
=
n
ik
k
ki
k
n
i
i
xx
xx
yxL
0
0
)(
)(
)(
. (1.10)
Эта формула называется интерполяционным многочленом Лагранжа.
Покажем, что этот многочлен является единственным. Допустим противо-
положное: пусть существует ещё один многочлен F(x) степени n, принимаю-
щий в узлах интерполяции заданные значения, т.е. F(x
i
) = y
i
. Тогда разность
R(x)=L(x)-F(x), являющаяся многочленом степени n (или ниже) в узлах x
i
рав-
на:
0)()()(
=
=
iii
xFxLxR
,
ni ,,1,0 K
=
.
Это означает, что многочлен R(x) степени не больше n имеет n+1 корней.
Отсюда следует, что R(x) тождественно равно нулю и F(x)=L(x).
Из формулы (1.10) можно получить выражения для линейной (n=1) и
квадратичной (n=2) интерполяций:
   Мерой отклонения многочлена ϕ (x) от заданной функции f(x) на множе-                               L( x) = y0 l0 ( x) + y1l1 ( x) + K + y n ln ( x) .                        (1.7)
стве точек ( xi , yi ) ( i = 0, 1, K , n ) при среднеквадратичном приближении      При этом потребуем, чтобы каждый многочлен li (x) обращался в нуль во
является величина S, равная сумме квадратов разностей между значениями          всех узлах интерполяции, за исключением одного i-го узла, где он должен
многочлена и функции в данных точках:                                           равняться единице. Легко проверить, что этим условиям отвечает многочлен
                                       n                                        вида
                                 S = ∑ [ϕ( xi ) − y i ]2 .              (1.4)                              ( x − x 1 )( x − x 2 ) K ( x − x n ) .   (1.8)
                                      i =0                                                        l (x) =
                                                                                                      0
                                                                                                                  ( x 0 − x 1 )( x 0 − x 2 ) K ( x 0 − x n )
  Для построения аппроксимирующего многочлена нужно подобрать коэф-
                                                                                   Действительно, l0 (x0) = 1 при x = x0. При х = х1, х2, ,хn числитель выраже-
фициенты a0 , a1 , K, a n так, чтобы величина S была наименьшей. В этом со-
                                                                                ния (1.8) обращается в нуль. По аналогии с (1.8) получим
стоит суть метода наименьших квадратов.
                                                                                                                  ( x − x 0 )( x − x 2 ) K ( x − x n )
                          1.1. Многочлен Лагранжа                                                    l1 ( x ) =                                          ,
                                                                                                                ( x1 − x 0 )( x1 − x 2 ) K ( x1 − x n )
   Рассмотрим случай построения интерполяционного многочлена, единого                                                ( x − x0 )( x − x1 )( x − x3 ) K ( x − x n )
для всего отрезка [x0, xn]. При этом график интерполяционного многочлена                             l 2 ( x) =                                                       ,         (1.9)
                                                                                                                ( x 2 − x0 )( x 2 − x1 )( x 2 − x3 ) K ( x 2 − x n )
должен проходить через все заданные точки.                                                           KKKKKKKKKKKKKKKKKKK
   Запишем искомый многочлен в виде:                                                                               ( x − x0 ) K ( x − xi −1 )( x − xi +1 ) K ( x − x n )
                                                                                                     li ( x) =                                                             ,
                             ϕ ( x ) = a 0 + a1 x + K + a n x n     (1.5)                                       ( xi − x 0 ) K ( xi − xi −1 )( xi − xi +1 ) K ( xi − x n )
                                                                                                     KKKKKKKKKKKKKKKKKKK
   Из условий равенства этого многочлена в узлах xi соответствующим за-
данным табличным значениям yi, получим следующую систему линейных
                                                                                    Подставляя в (1.7) выражения (1.8), (1.9), находим
уравнений для нахождения коэффициентов а0, а1, , аn:
                                                                                                                     n     n (x − x )
                                                                                                                                       k .                                     (1.10)
                           ⎧a0 + a1 x0 + K + an x0n = y0                                                   L( x) = ∑ y i ∏
                           ⎪                                                                                       i =0  k = 0 ( xi − x k )
                                                  n
                           ⎪ a0 + a1 x1 + K + an x1 = y1                (1.6)
                                                                                                                                 k ≠i
                           ⎨                                                        Эта формула называется интерполяционным многочленом Лагранжа.
                           ⎪ KKKKKKKKK
                           ⎪a + a x + K + a x n = y                                 Покажем, что этот многочлен является единственным. Допустим противо-
                           ⎩ 0 1 n             n n     n
                                                                                положное: пусть существует ещё один многочлен F(x) степени n, принимаю-
   Можно показать, что эта система имеет единственное решение, если среди       щий в узлах интерполяции заданные значения, т.е. F(xi) = yi. Тогда разность
узлов интерполяции нет совпадающих, т.е. если x i ≠ x k при i ≠ k . Решив       R(x)=L(x)-F(x), являющаяся многочленом степени n (или ниже) в узлах xi рав-
эту систему, найдём коэффициенты интерполяционного многочлена (1.5).            на:
Заметим вместе с тем, что такой путь построения интерполяционного много-                            R ( xi ) = L ( x i ) − F ( xi ) = 0 , i = 0, 1, K , n .
члена требует значительного объёма вычислений, особенно при большом                Это означает, что многочлен R(x) степени не больше n имеет n+1 корней.
числе узлов. Существуют более простые алгоритмы построения интерполя-           Отсюда следует, что R(x) тождественно равно нулю и F(x)=L(x).
ционных многочленов.                                                               Из формулы (1.10) можно получить выражения для линейной (n=1) и
   Будем искать многочлен в виде линейной комбинации многочленов сте-           квадратичной (n=2) интерполяций:
пени n:


                                                                           7    8