3次の自然スプライン

 

cf. スプライン関数入門, 桜井明編著, 東京電機大学出版局

 

(t0, x0), (t1, x1), ..., (tn, xn) : データ点

Si(t) : [ti, ti+1] における3次の自然スプライン. Si(ti) = xi, Si(ti+1) = xi+1

ai = S"i(ti) : 2階微分

hi = ti+1 - ti

u = (t - ti) / hi : 正規化 dt = hi du

S"i(u) = ai (1-u) + ai+1 u

Si(u) = hi2ai/6(1-u)3 + hi2ai+1/6 u3 + (xi - hi2ai/6) (1-u) + (xi+1 - hi2ai+1/6) u

S'i(u) = - hiai/2(1-u)2 + hiai+1/2 u2 + (xi+1 - xi) / hi - hi/6 (ai+1 - ai)

S'i(0) = S'i-1(1)

hi-1ai-1 + 2 (hi-1+hi)ai + hiai+1 = di

(i = 1, ..., n-1)

di = 6 ((xi+1 - xi) / hi - (xi - xi-1) / hi-1)

a0 = an = 0

ai-1 = ρiai + τi

ρi+1 = - hi / (hi-1ρi + 2hi + 2hi-1)

τi+1 = (di - hi-1τi) / (hi-1ρi + 2hi + 2hi-1)

ρ1 = τ1 = 0