5  REM TZPL,HEWLETT-PACKARD 36654A,6/74; 7 PROGRAMS:TZCPL,TZCPL2
6  REMTYPEZE, ,TYPEZK,TYPEZS,TYPEZT,TCZDAT
10  DIM X[17],Y[17],Z[17]
15  DIM Z$[25]
17  READ Z$
20  READ N
30  MAT X=ZER[N]
40  MAT  READ X
50  MAT Y=ZER[N]
60  MAT  READ Y
70  MAT Z=ZER[N]
71  MAT  READ Z
74  PRINT "INPUT REFERENCE JUNCTION TEMPERATURE IN DEGREES C"
75  INPUT T
76  GOSUB 9000
77  V9=V
90  PRINT "INPUT TABLE START, END, AND STEP"
100  INPUT A1,A2,A3
105  PRINT '13'10'13'10'13'10'13'10'13'10"CALIBRATION TABLE FOR ";Z$
106  PRINT '13'10"REFERENCE JUNCTION AT ";T;" DEGREES C"'13'10'13'10
110  PRINT "DEGREES C","MILLIVOLTS","THERMOPOWER","2ND DERIVATIVE"
120  PRINT '13'10
130  FOR T=A1 TO A2 STEP A3
135  T=(INT(T*1000))/1000
140  GOSUB 9000
150  PRINT T,V-V9,D1,D2
160  NEXT T
170  END 
9000  REM *** START CUBIC SPLINE FIT SUBROUTINE ***
9010  I=1
9020  IF T-X[1]<0 THEN 9110
9030  IF T-X[1]=0 THEN 9150
9040  IF T-X[N]<0 THEN 9090
9050  IF T-X[N]=0 THEN 9150
9060  IF T-X[N]>0 THEN 9110
9070  IF T-X[I]<0 THEN 9140
9080  IF T-X[I]=0 THEN 9150
9090  I=I+1
9100  GOTO 9070
9110  PRINT T;" OUT OF TABLE RANGE."
9120  RETURN 
9130  I=N
9140  I=I-1
9150  T1=T-X[I]
9160  T2=T-X[I+1]
9170  P=T1*T2
9180  H=X[I+1]-X[I]
9190  D=(Y[I+1]-Y[I])/H
9200  S3=(Z[I+1]-Z[I])/H
9210  D2=Z[I]+T1*S3
9220  Q=(Z[I]+Z[I+1]+D2)/6
9230  V=Y[I]+T1*D+P*Q
9240  D1=D+(T1+T2)*Q+P*S3/6
9250  RETURN 
9260  REM *** END CUBIC SPLINE FIT SUBROUTINE ***
