Post Reply 
(PC-12xx~14xx) Aitken and Lagrange interpolation
02-10-2022, 10:22 PM
Post: #1
(PC-12xx~14xx) Aitken and Lagrange interpolation
AITKEN AND LAGRANGE INTERPOLATION
For SHARP PC-12xx to 14xx

Aitken: 694 bytes BASIC (PC-1350)
Lagrange: 662 bytes BASIC (PC-1350)

Code:
' AITKEN INTERPOLATION
' For SHARP PC-12xx to 14xx by Robert van Engelen
'
' VARIABLES
'  N   number of points
'  A() Aitken coefficients and y-values of points
'  X() x-values of points
'  X   input x to interpolate
'  Y   interpolated y result
'  I,J loop counters
'  L,K rows of A()

100 "A" REM AITKEN
110 CLS: WAIT 0: CLEAR
120 INPUT "N=";N: DIM A(N*(N+1)/2),X(N)
130 FOR I=1 TO N
140 PRINT "X("+STR$ I+")=",X(I): INPUT X(I)
150 PRINT "Y("+STR$ I+")=",A(I): INPUT A(I)
160 NEXT I
170 INPUT "X=";X
180 K=N,L=0
190 FOR J=1 TO N-1
200 FOR I=1 TO N-J
210 Y=(A(L+I)*(X(I+J)-X)-A(L+I+1)*(X(I)-X))/(X(I+J)-X(I))
220 A(K+I)=Y
230 NEXT I
240 L=K,K=K+N-J
250 NEXT J
260 WAIT: PRINT "Y=",Y: GOTO 170

Code:
' LAGRANGE INTERPOLATION
' For SHARP PC-12xx to 14xx by Robert van Engelen
'
' VARIABLES
'  N   number of points
'  X() x-values of points
'  Y() y-values of points
'  X   input x to interpolate
'  Y   interpolated y result
'  L   Lagrange coefficient
'  I,J loop counters

100 "L" REM LAGRANGE
110 CLS: WAIT 0: CLEAR
120 INPUT "N=";N: DIM X(N),Y(N)
130 FOR I=1 TO N
140 PRINT "X("+STR$ I+")=",X(I): INPUT X(I)
150 PRINT "Y("+STR$ I+")=",Y(I): INPUT Y(I)
160 NEXT I
170 INPUT "X=";X
180 Y=0
190 FOR J=1 TO N
200 L=Y(J)
210 IF L=0 GOTO 260
220 FOR I=1 TO N
230 IF I<>J LET L=L*(X-X(I))/(X(J)-X(I))
240 NEXT I
250 Y=Y+L
260 NEXT J
270 WAIT: PRINT "Y=",Y: GOTO 170

"I count on old friends to remain rational"
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)