ВУЗ:
Составители:
21
1.4. Сплайны
Кубические сплайн-функции – специальным образом построенные мно-
гочлены третьей степени. Они представляют собой некоторую математиче-
скую модель гибкого тонкого стержня из упругого материала. Если закрепить
его в двух соседних узлах интерполяции с заданными углами наклонов α и β,
то между точками закрепления этот стержень (механический сплайн) примет
некоторую форму, минимизирующую его по
тенциальную энергию (рис.6).
Пусть форма этого стержня определяется функцией y=S(x). Уравнение
свободного равновесия имеет вид
0
)(
4
4
=
d
x
xSd
. Отсюда следует, что между каж-
дой парой соседних узлов интерполяции функция S(x) является многочленом
третьей степени. Запишем его в виде:
3
1
2
11
)()()()(
−−−
−+−+−+=
iiiiiii
xxdxxcxxbaxS
,
ii
xxx ≤≤
−1
. (1.21)
Для определения коэффициентов a
i
, b
i
, c
i
, d
i
на всех n элементарных отрез-
ках необходимо получить 4n уравнений.
Часть из них вытекает из условий
прохождения графика функции S(x) через заданные точки, то есть S(x
i-1
)=y
i-1
,
S(x
i
)=y
i
. Эти условия можно записать следующим образом:
11
)(
−−
==
iii
yaxS
, (1.22)
iiiiiiiiii
yhdhchbahxSxS =+++=+=
32
)()(
, i=1,2,…,n. (1.23)
Эта система содержит 2n уравнений. Для получения недостающих урав-
нений зададим условия непрерывности первых и вторых производных в уз-
лах интерполяции.
Вычислим производные многочлена (1.21):
2
11
)(3)(2)(
−−
−+−+=
′
iiiii
xxdxxcbxS
,
)(62)(
1−
−
+
=
′
′
iii
xxdcxS
.
β
α
S(x)
Рис.6. Сплайн
22
Приравнивая в каждом внутреннем узле x=x
i
(i=2, n-1) значения этих про-
изводных, вычисленные в левом узле интервала (x
i
, x
i+1
) и правом узле интер-
вала (x
i-1
, x
i
), получаем 2n-2 уравнений:
iiiiii
dhchbb
2
1
32 ++=
+
, (1.24)
iiii
dhcc 3
1
+=
+
, i=1,2,…,n-1. (1.25)
Недостающие два соотношения получаются из условий закрепления кон-
цов сплайна.
В частности, при свободном закреплении концов можно приравнять нулю
кривизну линии в этих точках. Такая функция, называемая свободным куби-
ческим сплайном, обладает свойством минимальной кривизны. Из условий
нулевой кривизны на концах следуют равенства нулю вторых производных в
этих точках:
0)(
10
=
=
′
′
cxS
,
062)(
=
+
=
′
′
nnnn
hdcxS
. (1.26)
Уравнения (1.22)–(1.26) составляют систему линейных алгебраических
уравнений для определения 4n коэффициентов a
i
,, b
i
,, c
i
,, d
i
(i=1,2,…,n).
Эту систему можно привести к более удобному виду. Из условия (1.22)
сразу можно найти все коэффициенты a
i
. Далее из (1.25),(1.26) получим:
i
ii
i
h
cc
d
3
1
−
=
+
, i=1,2,…,n-1,
n
n
n
h
c
d
3
=
. (1.27)
Подставим эти соотношения, а также значения a
i
= y
i -1
в (1.23) и найдем
отсюда коэффициенты:
)2(
3
1
1
ii
i
i
ii
i
cc
h
h
yy
b +−
−
=
+
−
, i=1,2,…,n-1,
nn
n
nn
n
ch
h
yy
b
3
2
1
−
−
=
−
. (1.28)
Учитывая выражения (1.27) и (1.28) исключим из уравнения (1.24) коэф-
фициенты d
i
и b
i
. Окончательно получим следующую систему уравнений
только для коэффициентов c
i
:
0
1
=
c
,
0
1
=
+n
c
,
)(3)(2
1
211
1111
−
−−−
+−−−
−
−
−
=+++
i
ii
i
ii
iiiiiii
h
yy
h
yy
chchhch
, i=2,3,…,n. (1.29)
1.4. Сплайны Приравнивая в каждом внутреннем узле x=xi (i=2, n-1) значения этих про- Кубические сплайн-функции специальным образом построенные мно- изводных, вычисленные в левом узле интервала (xi, xi+1) и правом узле интер- гочлены третьей степени. Они представляют собой некоторую математиче- вала (xi-1, xi), получаем 2n-2 уравнений: скую модель гибкого тонкого стержня из упругого материала. Если закрепить bi + 1 = bi + 2 hi ci + 3 hi2 d i , (1.24) его в двух соседних узлах интерполяции с заданными углами наклонов α и β, то между точками закрепления этот стержень (механический сплайн) примет c i +1 = c i + 3h i d i , i=1,2, ,n-1. (1.25) некоторую форму, минимизирующую его потенциальную энергию (рис.6). Недостающие два соотношения получаются из условий закрепления кон- цов сплайна. β В частности, при свободном закреплении концов можно приравнять нулю кривизну линии в этих точках. Такая функция, называемая свободным куби- S(x) ческим сплайном, обладает свойством минимальной кривизны. Из условий нулевой кривизны на концах следуют равенства нулю вторых производных в этих точках: S ′′( x 0 ) = c1 = 0 , S ′′( x n ) = 2c n + 6d n hn = 0 . (1.26) α Уравнения (1.22)(1.26) составляют систему линейных алгебраических Рис.6. Сплайн уравнений для определения 4n коэффициентов ai,, bi,, ci,, di (i=1,2, ,n). Пусть форма этого стержня определяется функцией y=S(x). Уравнение Эту систему можно привести к более удобному виду. Из условия (1.22) 4 свободного равновесия имеет вид d S ( x) = 0 . Отсюда следует, что между каж- сразу можно найти все коэффициенты ai. Далее из (1.25),(1.26) получим: dx 4 c i +1 − c i cn дой парой соседних узлов интерполяции функция S(x) является многочленом di = , i=1,2, ,n-1, dn = . (1.27) третьей степени. Запишем его в виде: 3h i 3h n S ( x ) = a i + bi ( x − x i − 1 ) + c i ( x − x i − 1 ) 2 + d i ( x − x i − 1 ) 3 , Подставим эти соотношения, а также значения a i = yi -1 в (1.23) и найдем отсюда коэффициенты: xi −1 ≤ x ≤ xi . (1.21) y − y i − 1 hi Для определения коэффициентов ai, bi, ci, di на всех n элементарных отрез- bi = i − ( c i + 1 + 2 c i ) , i=1,2, ,n-1, hi 3 ках необходимо получить 4n уравнений. Часть из них вытекает из условий y n − y n −1 2 прохождения графика функции S(x) через заданные точки, то есть S(xi-1)=yi-1, bn = − hn c n . (1.28) S(xi)=yi. Эти условия можно записать следующим образом: hn 3 S ( x i −1 ) = a i = y i −1 , (1.22) Учитывая выражения (1.27) и (1.28) исключим из уравнения (1.24) коэф- 2 3 фициенты di и bi. Окончательно получим следующую систему уравнений S ( xi ) = S ( xi + h ) = ai + bi hi + ci hi + d i hi = yi , i=1,2, ,n. (1.23) только для коэффициентов ci: Эта система содержит 2n уравнений. Для получения недостающих урав- c1 = 0 , c n +1 = 0 , нений зададим условия непрерывности первых и вторых производных в уз- лах интерполяции. y i − y i −1 y i −1 − y i − 2 hi −1 c i −1 + 2( hi −1 + hi )c i + hi c i +1 = 3( − ) , i=2,3, ,n. (1.29) Вычислим производные многочлена (1.21): hi hi −1 S ′ ( x ) = b i + 2 c i ( x − x i −1 ) + 3 d i ( x − x i −1 ) 2 , S ′′( x ) = 2 c i + 6 d i ( x − x i − 1 ) . 21 22
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »