10 REM SPLINE 20 REM G.Seidl , 6/90 30 REM 40 N=20 : H=30 50 DIM Y(N) 60 REM 70 FOR I=0 TO N : READ Y(I) : NEXT 80 REM Mepunkte zeichnen 90 SCREEN 9 : CLS 100 FOR I=0 TO N 110 X=I*H : Y=Y(I) 120 LINE (X,Y)-(X,200) 130 NEXT 140 GOSUB 170 150 W$=INKEY$ : IF W$="" THEN 150 160 END 170 REM Splineberechnung 180 A1=(Y(1)-Y(0))/H : REM Anfangssteigung 190 FOR I=0 TO N-2 STEP 2 200 Y1=Y(I) : Y2=Y(I+1) : Y3=Y(I+2) 210 GOSUB 330 : REM Spline-Koeffizienten holen 220 FOR X=0 TO H 230 XX=X+I*H 240 YY=Y1+A1*X+B1*X^2+C1*X^3 250 PSET (XX,YY) 260 XX=H+X+I*H 270 YY=Y2+A2*X+B2*X^2+C2*X^3 280 PSET (XX,YY) 290 NEXT 300 A1=A2+2*B2*H+3*C2*H^2 310 NEXT 320 RETURN 330 REM Berechnung der Spline-Koeffizienten 340 D1=Y2-Y1:D2=Y3-Y2 350 A=(2*D2-3*D1)/H^2+A1/H 360 B2=2*A/3 370 C2=(-A/3)/H 380 B1=(3*D1-D2)/H^2-(2*A1/H)+A/3 390 C1=((D2-2*D1)/H^2+A1/H-A/3)/H 400 A2=A1+H*(2*B1+3*H*C1) 410 RETURN 415 REM y-Werte der Kurvensttzpunkte 420 DATA 100,100,100,110,130,120,100,090,070,050,100,120,100,100 430 DATA 130,150,160,150,130,100,100