1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM        CONLM1:   COMPUTES CONFIDENCE LIMITS FOR AN UNKNOWN
4  REM                  POPULATION MEAN
5  REM        36694 REV  A   10/73
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
9000  REM CONLM1--COMPUTES CONFIDENCE LIMITS FOR UNKNOWN POPULATION MEAN
9002  DATA 5.E+06,5.39828E+06,5.7926E+06,6.17911E+06,6.55422E+06,6.91462E+06,7.25747E+06
9004  DATA 7.58036E+06,7.88145E+06,8.1594E+06,8.41345E+06,8.64334E+06,8.8493E+06,9.032E+06
9006  DATA 9.19243E+06,9.33193E+06,9.45201E+06,9.55435E+06,9.6407E+06,9.71283E+06,9.7725E+06
9008  DATA 9.82136E+06,9.86097E+06,9.89276E+06,9.91803E+06,9.9379E+06,9.95339E+06,9.96533E+06
9010  DATA 9.97445E+06,9.98134E+06,9.9865E+06,9.99032E+06,9.99313E+06,9.99517E+06,9.99663E+06
9012  DATA 9.99767E+06,9.99841E+06,9.99892E+06,9.99928E+06,9.99952E+06,9.99968E+06,9.99979E+06
9014  DATA 9.99987E+06,9.99992E+06,9.99995E+06,9.99997E+06,9.99998E+06,9.99999E+06,9.99999E+06
9016  DIM X[49]
9018  DEF FNQ()=M+*S
9020  DEF FND()=X[+1]-X[]
9022  DEF FNB()=U-*(-1)*(D2/(2*D1)+(-2)*D3/(6*D1))
9024  DEF FNZ()=1+(^2+1)/(4*D)+((^2+3)*(5*^2+1))/(96*D^2)
9026  DATA 0,0,0
9028  FOR I=1 TO 49
9030  READ X[I]
9032  NEXT I
9034  READ I,S1,S2
9036  READ H
9038  LET I=I+1
9040  READ W
9042  IF W=3.E+31 THEN 9050
9044  LET S1=S1+W
9046  LET S2=S2+W^2
9048  GOTO 9038
9050  LET N=I-1
9052  PRINT 
9054  PRINT "VALUES OF SAMPLE STATISTICS:"
9056  PRINT 
9058  PRINT "   SIZE OF SAMPLE",N
9060  LET M=S1/N
9062  PRINT "   SAMPLE MEAN VALUE",M
9064  LET S8=S2/N-M^2
9066  LET D=N-1
9068  PRINT "   VARIANCE OF SAMPLE",S8
9070  PRINT "   SAMPLE STD DEVIATION",SQR(S8)
9072  LET S5=S8*N*(H-1)/(H*(N-1))
9074  PRINT "   ESTIMATED POPN STD DEV",SQR(S5)
9076  LET S6=S5*(H-N)/(N*(H-1))
9078  LET S=SQR(S6)
9080  PRINT "   STANDARD ERROR OF MEAN",S
9082  PRINT 
9084  PRINT 
9086  PRINT "CONFIDENCE LIMITS ON POPULATION MEAN:"
9088  PRINT 
9090  PRINT "CONF LEVEL","LOWER LIM","UPPER LIM"
9092  PRINT 
9094  READ P
9096  IF P=1.E+32 THEN 9999
9098  LET A1=.5*(1+P)
9100  GOSUB 9106
9102  PRINT 100*P,FNQ(-A2*FNZ(A2)),FNQ(A2*FNZ(A2))
9104  GOTO 9094
9106  IF A1>.5 THEN 9116
9108  LET A1=1-A1
9110  GOSUB 9124
9112  LET A2=-Q
9114  GOTO 9120
9116  GOSUB 9124
9118  LET A2=Q
9120  RETURN 
9122  REM  REVERSE INTERPOLATION FOR STD NORMAL DEVIATE:
9124  LET Z=1.E+07*A1
9126  FOR I=1 TO 49
9128  IF Z<X[I] THEN 9134
9130  NEXT I
9132  LET I=I-1
9134  LET I=I-1
9136  LET D1=FND(I)
9138  LET E1=FND(I+1)
9140  LET D2=E1-D1
9142  LET D3=FND(I+2)-E1-D2
9144  LET U=(Z-X[I])/D1
9146  LET Q=FNB(FNB(U))
9148  LET Q=.1*(Q+I-1)
9150  RETURN 
9900  DATA 1.E+20
9901  DATA 84,36,17,93,22,46,72,91,65,81,37,44,79,53
9998  DATA 3.E+31,.5,.75,.9,.95,.99,.999,.9999,.99999,1.E+32
9999  END 
