Построим на отрезке [ a,b ] функцию Si (x) так, чтобы на каждом отрезке
[ x i-1, x i ] (i=1,...,n) функция Si (x)представляла собой полином третьей степени
Si (x) =ai+ bi (xi-x) + ci (xi-x) 2+ di (xi-x) 3
и в узлах xi имела первую и вторую непрерывные производные:
(x) = -bi -ci (xi-x) - di (xi-x) 2,
(x) =ci+di (xi-x),
(a) = =0.
Используя условие интерполирования и непрерывности, имеем:
Si (xi) = f (xi),
Si (xi) = Si+1 (xi),
(xi) = (xi),
(xi) = (xi),
далее, обозначив yi=f (xi) и hi+1=xi+1-xi, получим, что
ai=yi, (2.1)
ai=ai+1+bi+1hi+1+ ci+1 + di+1 , (2.2)
bi=bi+1+ci+1hi+1 + di+1 , (2.3)
ci=ci+1+di+1hi+1. (2.4)
Из (2.4) следует:
di+1= (i=0,1,..n-1).(2.5)
Подставим (2.5) в (2.2) и выразим bi+1:
bi+1= (i=0,1,…n-1).(2.6)
Подставим (2.6) и (2.5) в (2.3) и получим систему из (n-1) трехточечного уравнения относительно переменной c:
αi ci-1 +βi ci+ γi ci+1 = φi, (i=1,…,n-1),(2.7)
где
αi = hi,
βi = 2 (hi+1+hi),
γi = hi+1,
φi = 6 .
Уравнение (2.7) при краевых условиях ( (a) = =0) c0=0, cn=0 решается методом прогонки:
ci = pi+1 ci+1 + qi+1 (i=n-1,…,1).(2.8)
Запишем формулу (2.8) для ci-1 и подставим в уравнение (2.7):
αi (pi ci + qi ) +βi ci + γici+1 =φi.
Выразим отсюда ci:
ci= ci+1+ .
Сравнивая с формулой (2.8), выпишем формулы для прогоночных коэффициентов pi+1 и qi+1:
|
|
pi+1= ,
qi+1= (i=1,…, n-1).
Для вычисления p1, q1 запишем краевое условие c0=0 в виде (2.8):
с0=p1c1+q1=0.
Отсюда следует, что p1=0, q1=0. Определим все pi+1, qi+1 для i=1,…n-1 и, зная граничное условие cn=0 по (2.8) для i=n-1,…,1, найдем все ci.. Затемиз формул (2.5) и (2.6) получим оставшиеся коэффициенты для кубического сплайна.