Методическое пособие по курсу "Интерактивные графические системы". Найханов В.В - 5 стр.

UptoLike

L
i
(x
j
) =
δ
ij
, i, j
[
]
0, N ,
где
δ
ij
- дельта-символ Кронекера:
=
=
.jiесли 0,
j;iесли 1,
ij
δ
Многочлен Лагранжа - это единственный многочлен степени N,
являющийся решением задачи. Вместе с тем интерполяционный метод
Лагранжа на всем интервале
[
]
xx
N0
, имеет существенный недостаток:
поскольку степень многочлена Лагранжа N соответствует числу узлов (плюс
1), любая попытка улучшить точность аппроксимации путем увеличения
числа узлов влечет за собой увеличение степени многочлена. Однако при
этом на кривой появляется «волнистость». Один из возможных путей
решения этой проблемы - разбиение интервала
[
]
xx
N0
, на не несколько
подинтервалов и «склейка» нескольких многочленов Лагранжа низких
степеней. При этом можно достичь любой точности аппроксимации, но
лишь ценой возможной не дифференцируемости объединенной
аппроксимирующей функции в некоторых или во всех узлах. Таким
образом, вместо волнистой кривой получается кривая с изломами. Оба эти
эффекта в равной мере неприемлемы в машинном
проектировании.
Этот недостаток можно устранить, если склеивать не многочлены
Лагранжа, а многочлены Эрмита.
1.3. Кусочно-кубические многочлены Эрмита
Пусть в узлах сетки
Δ
: а = x
0
< x
1
<...< x
N
= b даны значения
некоторой функции f (x) и ее производной f
/
(x):
f
i
= f (x
i
), )f (xf
ii
=
, i = 0,1,...,N.
Требуется построить кусочно-кубический полином Эрмита p
н
(х),
удовлетворяющий условиям:
1) на каждом промежутке
[
]
xx
ii1
, (i = 1,2,...,N)
p
н
(х) = a
io
+ a
i1
(х -х
i-1
) + a
i2
(х -х
i-1
)
2
+ a
i3
(х -х
i-1
)
3
; (1.3)
2)
Р
н
(х
i
) = f
i
,
P
н
(х
i
) =
f
i
, i = 0,1,...,N.
Очевидно, что вторая производная такого многочлена, вообще говоря,
разрывна в узлах сетки
Δ
.
Учитывая условия интерполяции, для вычисления коэффициентов
a
i
α
(
α
= 0,1,2,3) для каждого i имеем систему уравнений, определяемую
равенствами:
p
н
(х
i-1
) = f
i-1
, p
н
(х
i
) = f
i
,
H
p
(х
i-1
) =
f
i1
,
H
p
(х
i
) =
f
i
.
Если ввести обозначения h
i
= x
i
- x
i-1
, то на участке [x
i-1
, x
i
] получим систему
уравнений для определения
a
ia
:
                    Li (xj) = δij ,    i, j ∈[0, N ] ,
где δij - дельта-символ Кронекера:
                           ⎧1, если i = j;
                    δ ij = ⎨
                           ⎩0, если i ≠ j.

      Многочлен Лагранжа - это единственный многочлен степени N,
являющийся решением задачи. Вместе с тем интерполяционный метод
Лагранжа на всем интервале [ x0 , x N ] имеет существенный недостаток:
поскольку степень многочлена Лагранжа N соответствует числу узлов (плюс
1), любая попытка улучшить точность аппроксимации путем увеличения
числа узлов влечет за собой увеличение степени многочлена. Однако при
этом на кривой появляется «волнистость». Один из возможных путей
решения этой проблемы - разбиение интервала [ x0 , x N ] на не несколько
подинтервалов и «склейка» нескольких многочленов Лагранжа низких
степеней. При этом можно достичь любой точности аппроксимации, но
лишь ценой возможной не дифференцируемости объединенной
аппроксимирующей функции в некоторых или во всех узлах. Таким
образом, вместо волнистой кривой получается кривая с изломами. Оба эти
эффекта в равной мере неприемлемы в машинном проектировании.
      Этот недостаток можно устранить, если склеивать не многочлены
Лагранжа, а многочлены Эрмита.


                 1.3. Кусочно-кубические многочлены Эрмита

     Пусть в узлах сетки Δ : а = x0 < x1 <...< xN = b даны значения
некоторой функции f (x) и ее производной f / (x):
     fi = f (xi),   f i ′ = f (xi ) , i = 0,1,...,N.
Требуется построить кусочно-кубический полином Эрмита pн(х),
удовлетворяющий условиям:
     1) на каждом промежутке [ xi −1 , xi ] (i = 1,2,...,N)
     pн(х) = aio + ai1 (х -хi-1) + ai2 (х -хi-1)2 + ai3 (х -хi-1)3 ; (1.3)

       2) Рн (хi) = fi,     P ′ (хi) = f i ′ ,   i = 0,1,...,N.
                             н
      Очевидно, что вторая производная такого многочлена, вообще говоря,
разрывна в узлах сетки Δ .
      Учитывая условия интерполяции, для вычисления коэффициентов aiα
( α = 0,1,2,3) для каждого i имеем систему уравнений, определяемую
равенствами:
      pн (хi-1) = fi-1,        pн (хi) = fi,
         ′
       p H (хi-1) = f i −′ 1 ,  p ′H (хi) = f i ′ .
Если ввести обозначения hi = xi - xi-1, то на участке [xi-1, xi] получим систему
уравнений для определения aia :