**TI92P*mainRsplineLZ() Prgm ClrIO Disp "Spline - Interpolation" Disp "","","","" Disp "Autor: Marc Niggemann" Disp "Homepage: www.m-niggemann.com" Disp "Version: 1.01 Jan 2003" Pause ClrIO DelVar x Local xi,ai,i,j,p Disp "Die werte A und r im speicher ablegen?" Local a,r ClrIO Disp "HINWEIS: unter aaus und raus werde die","Matrix A und der r Vektor im Speicher","abgelegt" Pause ClrIO Input "Anzahl der Wertepaare?",p newMat(p,1)xi newMat(p,1)ai For i,1,p,1 Input "x"&string(i-1)&"=?",j jxi[i,1] Input "y"&string(i-1)&"=?",j jai[i,1] ClrIO EndFor Disp "xi",xi Pause Disp "yi",ai Pause 2) Local cnull,cende 0cnull 0cende 3) Disp "Punkt 3" Pause Local hi,i newMat(p-1,1)hi For i,1,p-1,1 xi[i+1,1]-xi[i,1]hi[i,1] EndFor Disp "hi (Schrittweite)",hi Pause 4) Disp "Punkt 4" Pause Local i newMat(p-2,p-2)a For j,1,p-2,1 If j=1 Then 2*(hi[1,1]+hi[2,1])a[1,1] hi[2,1]a[1,2] Else hi[j,1]a[j,j-1] 2*(hi[j,1]+hi[j+1,1])a[j,j] If jp-2 Then hi[j+1,1]a[j,j+1] EndIf EndIf EndFor Disp "A Matrix",a aaaus Pause r vektor Local c newMat(p-2,1)r For i,1,p-2,1 (ai[2+i,1]-ai[1+i,1])/(hi[i+1,1])-(ai[1+i,1]-ai[i,1])/(hi[i,1])r[i,1] EndFor r*3r Disp "r",r rraus Pause Local c,ci c aus dem LGS c=A^1*r a^(1)*rc Disp "c nach Gleichung c=A*r" Disp "c1 bis c"&string(p-2),c Pause newMat(p,1)ci cnullci[1,1] cendeci[p,1] For i,1,p-2,1 c[i,1]ci[i+1,1] EndFor Disp "c0 bis c"&string(p),ci Pause 5) Disp "Punkt 5" Pause Local bi newMat(p-1,1)bi For i,1,p-1,1 (ai[i+1,1]-ai[i,1])/(hi[i,1])-(2*ci[i,1]+ci[i+1,1])/3*hi[i,1]bi[i,1] Disp "b"&string(i-1)&"=",bi[i,1],"" Pause EndFor 6) ClrIO Disp "Punkt 6)" Pause Local di newMat(p-1,1)di For i,1,p-1,1 (ci[i+1,1]-ci[i,1])/(3*hi[i,1])di[i,1] Disp "d"&string(i-1),di[i,1],"" Pause EndFor 7) ClrIO Disp "Punkt 7" Pause Local px For i,1,p-1,1 ai[i,1]+bi[i,1]*(x-xi[i,1])+ci[i,1]*(x-xi[i,1])^2+di[i,1]*(x-xi[i,1])^3px Disp "P"&string(i-1)&"(x)=",px Disp "x["&string(xi[i,1])&","&string(xi[i+1,1])&"]","" Pause EndFor EndPrgmT