Kübik spline

KOŞULLAR

1.S(x) [Tüm S'ler]bir kübik polinomdur ve her bir alt aralık [Xi, Xi+1] için Sk [k=0,1,2.... n-1] olarak gösterilir.
2.Sk(xk)=f(xk) ve Sk(xk+1)=f(xk+1) [k=0,1,2...n-1].
3.Sk+1(xk+1)=Sk(xk+1) [k=0,1,2....n-2] ==>Açıkça görülüyor ki bir herhangi bir aralığın ilk noktası bir önceki aralığın son noktasıdır.
4.S'k+1(xk+1)=S'k(xk+1) [k=0,1,2....n-2]==> 3. eşitlikten bu iki noktanın fonksiyon üzerinde aynı olduğunu göstermiştik. Aynı nokta olduklarından dolayı açıktır ki alınan
eğimler (türevler) de eşittir.
5.Sk+1(xk+1)=S'k(xk+1)[k=0,1,2.....n-2]==>3 ve 4. eşitliğe bakarsak noktaların ve eğimlerin de aynı olduğunu görürüz. Buna bağlı olarak 2. türevleri yani konvekslik veya 
konkavlıkları da aynıdır.
6.Aşağıdaki sınır koşullarından bir tanesi doğru olarak kabul edilir. Bunun nedeni bilinmeyen sayısı ile denklem sayısını eşitlemektir. Burada x0 ve xn sınır noktalarıdır.
•S(x0)=S(xn) => Doğal kübik spline. [İlk ve son noktanın 2. türevleri eşit alınır.]
•S'(x0)=f'(x0) ve S'(xn)=f'(xn) => Kenetli kübik spline.

ÇIKARIM

Sk(x)=ak+bk(x-xk)+ck(x-xk)2+dk(x-xk)3 [k=0,1,2....n-1] {1. denklem}
Sk(xk)=ak=f(xk) [2. koşuldan dolayı]
Sk+1(xk+1)=ak+1=Sk(xk+1) [3. koşuldan dolayı]
ak+1=ak+bk(xk+1-xk)+ck(xk+1-xk)2+dk(xk+1-xk)3 [k=0,1,2.....n-2] {2. denklem}
hk=(xk+1-xk) {3. denklem}
ak+1=ak+bk hk+ck hk2+dk hk3 [k=0,1,2....n-2] {4. denklem}
not: ak=f(xk)
S'k(x)=bk+2ck(x-xk)+3dk(x-xk)2 [k=0,1,2....n-1] {5. denklem}
S'k(xk)=bk  [k=0,1,2....n-1] {6. denklem}
S'k+1(xk+1)=S'k(xk+1)=bk+1 [k=0,1,2....n-2][4. koşuldan dolayı]{7. denklem}
not: bk=S'(xk)
Sk(x)= 2ck + 6dk(x-xk) [k=0,1,2...n-1] {8. denklem}
Sk(xk)= 2ck [k=0,1,2.....n-1] {9. denklem}
ck+1= Sk+1(xk+1)/2== Sk (xk+1)/2 [5. koşuldan dolayı]
ck+1=ck+3dkhk [k=0,1,2....n-2] {10. denklem}
not: ck=S(xk)/2
[10. denklemden dolayı]===>        dk=(ck+1-ck)/3hk       {11. denklem}
[4. ve 11. denklemlerden dolayı] ===>   ak+1=ak+bkhk+ckhk2+[(ck+1-ck)/3hk]hk3
=> ak+1 = ak+bkhk+hk2(2ck+ck+1)/3 {12. denklem}
[7. ve 11. denklemlerden dolayı]===> bk+1=bk+2ckhk+3hk2[(ck+1-ck)/3hk]
=> bk+1 = bk+hk(ck+ck+1)    {13. denklem}
[12. denklemden dolayı] ===>  bk=[(ak+1-ak)/hk] -hk(2ck+ck+1)/3    {14. denklem}
[14. denklemden dolayı] ===>  bk-1=[(ak-ak-1)/hk-1] -hk-1(2ck-1+ck)/3    {15. denklem}
[15. denklemden dolayı] ===>  bk = bk-1+hk+(ck-1+ck)
[14. ve 15. denklemklerden dolayı] ===>
[(ak+1-ak)/hk] -hk(2ck+ck+1)/3 = [(ak-ak-1)/hk-1] -hk-1(2ck-1+ck)/3 +hk-1(ck-1+ck)
==> [3(ak+1-ak)/hk]-[3(ak-ak-1)/hk-1]=hk(2ck+ck+1)-hk-1(ck-1+ck)+3hk-1(ck-1+ck)
=> hk-1ck-1+2(hk-1+hk)ck+hkck+1 = 3(ak+1-ak)/hk-3(ak-ak-1)/hk-1  {16. denklem}
Bu 16 denklemin sonucu olarak artık sistemde bilinmeyen olarak sadece ck'lar [k=0,1,2....n] kalır ve bk ile dk'lar ck cinsinden yazılır. Bu şekilde ck'ların bulunması ile birlikte 11 ve 14. denklemlerden dk ve bk'lar da bulunur. hk ve ak'lar ise zaten fonksiyon üzerindeki xk'lar ve onların değerlerine bakarak belirlenir. [ak=f(xk) ve hk=xk+1-xk] 
Bu şekilde tüm a, b, c ve d değerlerinin bulunması ile kübik polinom olan Sk(x)[k=0,1,2..n-1] bulunur.
Bu noktadan itibaren tek problem ck'ların bulunmasıdır. 16. denklemden ck'ların ak'lar üzerinden bulunmasının sağlanması için her a ve c değerlerinin tek olması gerekmektedir. 6. koşul göz önüne alındığında ise istenilen şartlar tamamlanmış olunur.