Сплайны
Сплайном называется функция, которая вместе с несколькими производными непрерывна
на всем заданном отрезке [a,b], а на каждом частичном отрезке [x1 ,xi+1 ] в отдельности
является некоторым алгебраическим многочленом.
Максимальная по всем частичным структурам степень многочленов называется степенью
сплайна , а разность между степенью сплайна и порядком наивысшей непрерывной на
[a,b] производной - дефектом сплайна .
Наиболее широкое распространение получил кубический сплайн, который обозначается
S3(x)
mi = S'3(x ) - наклон сплайна в xi
Нетрудно убедиться, что S3(x) имеет на отрезке следующий вид:




 

13
1
2
3
2
1
3
))(2()())(2()(
)( i
iiiii
f
h
hxxxx
f
h
hxxxx
xs
12
1
2
2
2
1 )()()()(

 


 i
ii
i
ii
m
h
xxxx
m
h
xxxx
Кубический сплайн, принимающий в xi те же значения fi, что и некоторая функция f,
называется интерполяционным.
Способы задания наклонов интерполяционного сплайна.
Упрощенный:
h
ff
m ii
i
2
11  
 i = 1, 2, ... , N-1
h
fff
m
2
34 021
0


h
fff
m nnn
n
2
43 12  

Это локальный способ. Непрерывность второй производной в узлах сплайна не
гарантируется.
Глобальный способ






 

12
1
2
2
2
2
1'
3
))(2)((22)())(2)((2
)0( i
ii
i
i
i
ii
i f
h
hxxxx
f
h
xx
f
h
hxxxx
xs










 12
1
2
2
1
2
1
12
2
))((2)())((22)(
i
ii
i
i
i
ii
i
i
m
h
xxxx
m
h
xx
m
h
xxxx
f
h
xx
12
2
)(


i
i
m
h
xx










 

12122
1
2
1
2
2'' )(4))(2(2)(4)(4))(2(2
)0( i
i
i
i
i
i
i
i
i
i
i f
h
xx
f
h
hxx
f
h
xx
f
h
xx
f
h
hxx
xS












 122
1
2
1
212
)(2)(2)(2)(2)(4
i
i
i
i
i
i
i
i
i
i
m
h
xx
m
h
xx
m
h
xx
m
h
xx
f
h
xx






1212
1 )(2)(2
i
i
i
i
m
h
xx
m
h
xx
11
2226442
  iiiiiii m
h
m
h
m
h
f
h
f
h
f
h
f
h
2
11''
3 6
24
)0(
h
ff
h
m
h
m
xs iiii
i

 
2
11''
3 6
42
)0(
h
ff
h
m
h
m
xs iiii
i
 

Требуем непрерывность
)0()0( ''
3
''
3  ii xSxS i=1,2 …, N-1
2
11
2
11
6
24
6
42
h
ff
h
m
h
m
h
ff
hh
m iiiiiii 


 
h
ff
mmm ii
iii
)(3
4 11
1



 i=1,2 …, N-1
Необходимо задать два краевых условия.
Известны f '(a) и f '(b), тогда m0 = f '(a) mn = f '(b)
Производные f', f' аппроксимируем формулами численного дифференцирования третьего
порядка точности.
m 0= (-11f0 + 18f1 - 9f 2+ 2f3) формула Лагранжа
m n = (11fn - 18 fn-1 + 9fn-2 - 2fn-3 )
. В некоторых случаях бывают известны значения f''(a) и f''(b), тогда
0110''
0 6
2
4
ff
h
m
h
m
f


Следовательно
''
0
011
0
42
3
2
f
h
h
ffm
m 


''11
42
3
2
n
nnn
n f
h
h
ffm
m 

 
Эти условия можно комбинировать.
Система уравнений имеет единственное решение и решается методом прогонки или
итераций.
Теорема. Если f Ck+1 [a,b], 0<x<3, то интерполяционный глобальный сплайн S3(x)
удовлетворяет неравенству
 
mkmm
xx
ChxSxf
ii



1)(
3
)(
,
)()(max
1
 
)(max )1(
,
xf k
ba

где i = 0, 1, ... , N-1; m = 0, 1, ... , k; c - независящая от h, i, f постоянная.
Если f непрерывно дифференцируема на всей действительной оси k+1 раз (0<k<3)
и имеет период, равный b-a, то следует положить m0 = mn и к системе присоединить
уравнение
h
ff
mmm n
n
)(3
4 11
101





сплайны

  • 1.
    Сплайны Сплайном называется функция,которая вместе с несколькими производными непрерывна на всем заданном отрезке [a,b], а на каждом частичном отрезке [x1 ,xi+1 ] в отдельности является некоторым алгебраическим многочленом. Максимальная по всем частичным структурам степень многочленов называется степенью сплайна , а разность между степенью сплайна и порядком наивысшей непрерывной на [a,b] производной - дефектом сплайна . Наиболее широкое распространение получил кубический сплайн, который обозначается S3(x) mi = S'3(x ) - наклон сплайна в xi Нетрудно убедиться, что S3(x) имеет на отрезке следующий вид:        13 1 2 3 2 1 3 ))(2()())(2()( )( i iiiii f h hxxxx f h hxxxx xs 12 1 2 2 2 1 )()()()(       i ii i ii m h xxxx m h xxxx Кубический сплайн, принимающий в xi те же значения fi, что и некоторая функция f, называется интерполяционным. Способы задания наклонов интерполяционного сплайна. Упрощенный: h ff m ii i 2 11    i = 1, 2, ... , N-1 h fff m 2 34 021 0   h fff m nnn n 2 43 12    Это локальный способ. Непрерывность второй производной в узлах сплайна не гарантируется. Глобальный способ          12 1 2 2 2 2 1' 3 ))(2)((22)())(2)((2 )0( i ii i i i ii i f h hxxxx f h xx f h hxxxx xs            12 1 2 2 1 2 1 12 2 ))((2)())((22)( i ii i i i ii i i m h xxxx m h xx m h xxxx f h xx 12 2 )(   i i m h xx              12122 1 2 1 2 2'' )(4))(2(2)(4)(4))(2(2 )0( i i i i i i i i i i i f h xx f h hxx f h xx f h xx f h hxx xS              122 1 2 1 212 )(2)(2)(2)(2)(4 i i i i i i i i i i m h xx m h xx m h xx m h xx f h xx       1212 1 )(2)(2 i i i i m h xx m h xx 11 2226442   iiiiiii m h m h m h f h f h f h f h
  • 2.
    2 11'' 3 6 24 )0( h ff h m h m xs iiii i   2 11'' 3 6 42 )0( h ff h m h m xs iiii i    Требуем непрерывность )0()0( '' 3 '' 3  ii xSxS i=1,2 …, N-1 2 11 2 11 6 24 6 42 h ff h m h m h ff hh m iiiiiii      h ff mmm ii iii )(3 4 11 1     i=1,2 …, N-1 Необходимо задать два краевых условия. Известны f '(a) и f '(b), тогда m0 = f '(a) mn = f '(b) Производные f', f' аппроксимируем формулами численного дифференцирования третьего порядка точности. m 0= (-11f0 + 18f1 - 9f 2+ 2f3) формула Лагранжа m n = (11fn - 18 fn-1 + 9fn-2 - 2fn-3 ) . В некоторых случаях бывают известны значения f''(a) и f''(b), тогда 0110'' 0 6 2 4 ff h m h m f   Следовательно '' 0 011 0 42 3 2 f h h ffm m    ''11 42 3 2 n nnn n f h h ffm m     Эти условия можно комбинировать. Система уравнений имеет единственное решение и решается методом прогонки или итераций. Теорема. Если f Ck+1 [a,b], 0<x<3, то интерполяционный глобальный сплайн S3(x) удовлетворяет неравенству   mkmm xx ChxSxf ii    1)( 3 )( , )()(max 1   )(max )1( , xf k ba 
  • 3.
    где i =0, 1, ... , N-1; m = 0, 1, ... , k; c - независящая от h, i, f постоянная. Если f непрерывно дифференцируема на всей действительной оси k+1 раз (0<k<3) и имеет период, равный b-a, то следует положить m0 = mn и к системе присоединить уравнение h ff mmm n n )(3 4 11 101    