Web pdp-10.trailing-edge.com

Trailing-Edge - PDP-10 Archives - decuslib20-04 - decus/20-0113/cmodz.bas
There are 2 other files named cmodz.bas in the archive. Click here to see a list.
```00020REM **********************************************************
00030REM   CMODZ    CMODZ  CMODZ    CMODZ    CMODZ    CMODZ    CMODZ
00040REM *************************************************************
00050REM
00060REM
00070REM        EVALUATION  OF  A  F-DISTRIBUTION
00080REM
00090REM*********************************************************
00100  FILES RFILE1,RFILE2,RFILE3
00140RESTORE#1
00141  INPUT#  1,I1,I2,I3
00150REM
00160REM
00170SCRATCH#1
00171  PRINT #  1,35,I2,I3
00180RESTORE#3
00181  INPUT#  3,A,B
00190S6=0
00200GOSUB 5160
00210L9=0
00220REM
00230REM         IF A=0 THEN PARAMETERS WERE NOT PASSED
00240REM
00250PRINT L\$
00260X=0
00270REM
00280REM
00290PRINT "      EVALUATION OF A SNEDECOR F-DISTRIBUTION"
00300PRINT
00310PRINT "THIS MODULE ALLOWS YOU TO EXAMINE THE CHARACTERISTICS OF A"
00320PRINT "F-DISTRIBUTION.  THE F DISTRIBUTION IS DEFINED AS THE RATIO OF"
00325PRINT "TWO INVERSE CHI SQUARE DISTRIBUTIONS(PHI-2/PHI-1) WITH PARAMETERS"
00326PRINT "DF1, SCALE PARAMETER1 AND DF2, SCALE PARAMETER2."
00330GOTO 540
00350PRINT
00360PRINT "TYPE THE NUMBER OF THE OPTION YOU WANT."
00370PRINT "    1. PERCENTILES"
00380PRINT "    2. HIGHEST DENSITY REGIONS"
00390PRINT "    3. PROBABILITY F IS LESS THAN SOME VALUE."
00400PRINT "    4. PROBABILITY IN INTERVAL"
00410PRINT "    5. GRAPH OF THE DENSITY FUNCTION"
00420PRINT "    6. EXIT MODULE"
00430GOSUB 9000
00440IF O1=6 THEN 2960
00450I=O1
00460GOTO 970
00470PRINT
00480PRINT "REENTER.  INPUT MUST BE NUMBER OF OPTION."
00490GOTO 350
00500REM
00510REM       L9=1    IF THE PARAMETERS HAVE BEEN PASSED FROM OTHER MODULE
00520REM       S6=1    IF THE PARAMETERS ARE NOT TO BE CHANGED
00530REM
00540REM
00550IF S6=1 THEN 350
00560S6=1
00570PRINT
00580REM *****************************************************************
00590REM
00600REM    INPUT THE PARAMETERS
00610REM
00620PRINT "INPUT THE FIRST DEGREES OF FREEDOM (MIN=3).";
00630GOSUB 9000
00640IF O1<3 THEN 650
00645IF O1 <= 2000 THEN 670
00650PRINT "REENTER. MINIMUM IS 3 AND MAXIMUM IS 2000."
00660GOTO 630
00670N8=O1
00680PRINT
00690PRINT "INPUT THE SECOND DEGREES OF FREEEDOM (MIN=3).";
00700GOSUB 9000
00710IF O1<3 THEN 720
00715IF O1 <= 2000 THEN 740
00720PRINT "REENTER.   MINIMUM IS 3 AND MAXIMUM IS 2000."
00730GOTO 700
00740N9=O1
00750PRINT
00760PRINT "INPUT THE FIRST SCALE PARAMETER.";
00770GOSUB 9000
00780IF O1>0 THEN 800
00790PRINT "REENTER.  SCALE PARAMETER MUST BE GREATER THAN 0."
00795GOTO 770
00800B8=O1
00810PRINT
00820PRINT "INPUT THE SECOND SCALE PARAMETER.";
00830GOSUB 9000
00840IF O1>0 THEN 870
00850PRINT "REENTER.  SCALE PARAMETER MUST BE GREATER THAN 0."
00860GOTO 830
00870B9=O1
00880A=N8/2
00890B=N9/2
00900K7=(N9/B9)/(N8/B8)
00910GOTO 350
00920REM
00930REM          END OF INPUT ROUTINE
00940REM *******************************************************
00950REM           ROUTINE TO DETERMINE OPTION WANTED
00960REM
00970GOSUB 5220
00980IF I=3 THEN 2270
00990IF I=4 THEN 2570
01000IF I=2 THEN 1340
01010IF I=1 THEN 1780
01020IF O1=5 THEN 3060
01030GOTO 470
01040REM
01050REM          END OF OPTION SELECTION ROUTINE
01060REM *******************************************************
01070PRINT L\$
01080REM *******************************************************
01090REM           OPTION SELECTION AFTER EXITING ROUTINE
01100REM
01110REM   IF THE MODULE WAS ENTERED TO EVALUATE A POSTERIOR BETA
01120REM   (L9=1) THEN THERE IS NO OPTION TO EVALUATE ANOTHER BETA.
01130REM
01140PRINT "TYPE THE NUMBER OF THE OPTION YOU WANT."
01150PRINT "      1. FURTHER EVALUATE THIS DISTRIBUTION"
01160PRINT "      2. EVALUATE ANOTHER F-DISTRIBUTION"
01170PRINT "      3. EXIT MODULE"
01180PRINT "      ";
01190GOSUB 9000
01200IF O1=1 THEN 1260
01210IF O1=3 THEN 1250
01220IF O1=2 THEN 1280
01230PRINT "REENTER.  INPUT MUST BE 1,2 OR 3."
01240GOTO 1190
01250CHAIN "RSTRT"
01260S6=1
01270GOTO 1290
01280S6=0
01290PRINT L\$
01300GOTO 540
01310REM
01320REM         END OF ROUTINE
01330REM ***************************************************
01340PRINT L\$
01350PRINT "     OPTION 2: HIGHEST DENSITY REGIONS"
01360PRINT
01370PRINT "TO EXIT ROUTINE TYPE '0' WHEN ASKED FOR INPUT."
01380PRINT "INPUT P% AS NUMBER FROM 5 THROUGH 99."
01390GOSUB 1420
01400GOTO 1580
01410REM
01420PRINT"---------------------------------------------------------"
01430:                 F-DISTRIBUTION
01440PRINT"---------------------------------------------------------"
01450:NU1 =####.##                       LAMBDA1 =######.##
01460PRINT  USING 1450,N8,B8
01470:NU2 =####.##                       LAMBDA2 =######.##
01480PRINT  USING 1470,N9,B9
01490IF N9>4 THEN 1530
01500:MEAN=####.##                       MODE=    ######.##
01510PRINT  USING 1500,N9/(N9-2)/K7,((N8-2)/N8)*(N9/(N9+2))
01520GOTO 1560
01530T8=SQR(2*N9*N9*(N8+N9-2)/N8/(N9-4)/(N9-2)/(N9-2))
01540:MEAN=####.##                    STAN. DEV. =######.##
01550PRINT  USING 1540,N9/(N9-2)/K7,T8/K7
01551PRINT  USING 1552,((N8-2)/N8)*(N9/(N9+2))
01552:MODE=####.##
01560PRINT"---------------------------------------------------------"
01570RETURN
01580PRINT "INPUT P%";
01590GOSUB 9000
01600IF O1=0 THEN 1070
01610J5=O1/100
01620IF J5<.05 THEN 1700
01630IF J5>.99 THEN 1700
01640GOSUB 8500
01650J1=J1/K7
01660J2=J2/K7
01670:                      ##.#% HDR = ( #####.##   -  ######.## )
01680PRINT  USING 1670,O1,J1,J2
01690GOTO 1580
01700PRINT
01710PRINT "REENTER.  INPUT MUST BE '0' OR ACCEPTABLE P%."
01720PRINT
01730GOTO 1580
01740REM
01750REM            END OF HDR ROUTINE
01760REM
01770REM **************************************************************
01780PRINT L\$
01790PRINT
01800PRINT "          OPTION 1: PERCENTILES"
01810PRINT
01820PRINT "TO EXIT ROUTINE TYPE '0' WHEN ASKED FOR INPUT."
01830PRINT "INPUT PERCENTILES AS NUMBERS FROM .5 THROUGH 99.5."
01840GOSUB 1420
01850PRINT "INPUT PERCENTILE";
01860GOSUB 9000
01870P1=O1
01880IF P1=0 THEN 1070
01890IF P1<.5 THEN 1920
01900IF P1 <= 99.5 THEN 1950
01910PRINT
01920PRINT "REENTER.  INPUT MUST BE 0 OR ACCEPTABLE VALUE."
01930PRINT
01940GOTO 1850
01950GOSUB 5600
02170J2=B*J2/(A*(1-J2))
02180J2=J2/K7
02190:                              ##.#% = #####.##
02200PRINT  USING 2190,P1,J2
02210E2=1
02220GOTO 1850
02230REM
02240REM        END OF PERCENTILE ROUTINE
02250REM
02260REM ***************************************************
02270PRINT L\$
02280PRINT "    OPTION 3: PROBABILITY F IS LESS THAN X."
02290PRINT
02300PRINT "TO EXIT ROUTINE TYPE '0' WHEN ASKED FOR VALUE OF X."
02310PRINT "INPUT X AS A POSITIVE NUMBER."
02320GOSUB 1420
02330REM
02340PRINT "INPUT X";
02350GOSUB 9000
02360IF O1=0 THEN 1070
02370X=O1
02380IF X>0 THEN 2440
02390GOTO 2440
02400PRINT
02410PRINT "REENTER.  INPUT MUST BE 0 OR POSITIVE NUMBER."
02420PRINT
02430GOTO 2340
02440J1=0
02450X7=X*K7
02460J2=X7*A/(B+X7*A)
02470GOSUB 5000
02480PRINT  USING 2490,X,P
02490:                         PROB( F < ####.## ) =##.##
02500PRINT  USING 2510,X,1-P
02510:                         PROB( F > ####.## ) =##.##
02520GOTO 2330
02530REM
02540REM         END OF PROBABILITY LESS THAN ROUTINE
02550REM
02560REM **********************************************************
02570PRINT L\$
02580PRINT "      OPTION 4: PROBABILITY F IS BETWEEN TWO VALUES."
02590PRINT
02600PRINT "TO EXIT ROUTINE TYPE '0''S WHEN ASKED FOR INPUT."
02610GOSUB 1420
02620REM
02630PRINT "INPUT SMALLER VALUE";
02640GOSUB 9000
02650X3=O1
02660IF X3=0 THEN 2710
02670IF X3<0 THEN 2690
02680GOTO 2710
02690PRINT "REENTER.  MUST BE GREATER THAN 0."
02700GOTO 2630
02710PRINT "INPUT LARGER VALUE";
02720GOSUB 9000
02730IF X3 <> 0 THEN 2740
02735IF O1=0 THEN 1070
02740X4=O1
02750IF X4 <= 0 THEN 2770
02760GOTO 2810
02770PRINT
02780PRINT "REENTER.  VALUE MUST BE GREATER THAN 0."
02790PRINT
02800GOTO 2710
02810IF X3 >= X4 THEN 2970
02820REM
02830J1=X3*K7
02840J1=J1*A/(B+J1*A)
02850J2=X4*K7
02860J2=J2*A/(B+J2*A)
02870GOSUB 5000
02880P4=P
02890PRINT  USING 2900,X3,X4,P
02900:                              PROB(####.##  < F <####.## ) =##.##
02910GOTO 2630
02920REM
02930REM          END OF BETWEEN TWO VALUES ROUTINE
02940REM
02950REM ***********************************************************
02960CHAIN "RSTRT"
02970PRINT
02980PRINT "REENTER.  ENTER SMALLER VALUE FIRST."
02990PRINT
03000GOTO 2630
03010REM ****************************************************************
03020REM ***************************************************************
03030REM
03040REM               APPENDED GOSUBS FOLLOW
03050REM
03060PRINT L\$
03080PRINT "   OPTION 5: GRAPH OF THE DENSITY FUNCTION OVER 97.5% HDR"
03100GOSUB 1420
03110GOSUB 9400
03115K7=K4
03120GOTO 1070
03130D2=.5*N8*LOG(B9/B8)+.5*(N8-2)*LOG(J2)-.5*(N8+N9)*LOG(B9/B8+J2)
03140RETURN
05000REM ***************************************************
05005REM         BETA CDF ROUTINE
05010REM           INPUT    A      B      J1    J2
05015REM           OUTPUT   P
05020REM           GOSUB'S TO BE CALLED PRIOR 5160 AND 5220
05025  DIM W(16),O(16)
05030IF J1 <> 0 THEN 5035
05031IF A<5 THEN 5035
05032IF B >= 5 THEN 5400
05035IF A+B>85 THEN 5280
05040P=0
05045C6=0
05050IF A <= B THEN 5080
05055C6=A
05060C7=B
05065A=C7
05070B=C6
05075J2=1-J2
05080D0=(J2-J1)*.5
05085D1=(J1+J2)*.5
05090FOR I1=1 TO 16
05095D9=D0*O(I1)+D1
05100IF D9=0 THEN 5115
05105IF D9=1 THEN 5115
05107D9=LOG(D9)*(A-1)+LOG(1-D9)*(B-1)
05108IF D9<-80 THEN 5115
05110P=P+W(I1)*EXP(D9)
05115NEXT I1
05120P=P*F0
05125P=P*D0
05130IF C6=0 THEN 5155
05135A=C6
05140B=C7
05145P=1-P
05150J2=1-J2
05155RETURN
05160FOR I1=1 TO 16
05170NEXT I1
05175DATA 2.71525E-02,-.989401
05180DATA 6.22535E-02,-.944575,9.51585E-02,-.865631
05185DATA .124629,-.755404,.149596,-.617876
05190DATA .169156,-.458017,.182603,-.281604,.189451,-9.50125E-02
05195DATA .189451,9.50125E-02,.182603,.281604,.169156,.458017
05200DATA .149596,.617876,.124629,.755404
05205DATA 9.51585E-02,.865631,6.22535E-02,.944575,2.71525E-02
05210DATA .989401
05215RETURN
05220G9=A+B
05225GOSUB 5850
05230F0=G0
05235G9=A
05240GOSUB 5850
05245F0=F0-G0
05250G9=B
05255GOSUB 5850
05260F0=F0-G0
05265IF A+B>85 THEN 5275
05270F0=EXP(F0)
05275RETURN
05280W1=(B*J2)**(1/3)
05285W2=(A*(1-J2))**(1/3)
05290GOSUB 5325
05295I1=P
05300W1=(B*J1)**(1/3)
05305W2=(A*(1-J1))**(1/3)
05310GOSUB 5325
05315P=I1-P
05320RETURN
05325Y3=3*(W1*(1-1/9/B)-W2*(1-1/9/A))/SQR(W1*W1/B+W2*W2/A)
05330GOSUB 8000
05335RETURN
05340REM    2/16/76 CHANGED TO ALL LOG
05345D2=LOG(F0)+(A-1)*LOG(J2)+(B-1)*LOG(1-J2)
05350RETURN
05390REM
05400REM *******************************************************
05403REM      PEIZER PRATT APROXIMATION
05406D0=.02*(J2/B-(1-J2)/A+(J2-.5)/(A+B))
05409D0=B-1/3-(A+B-2/3)*(1-J2)+D0
05412Y=(B-.5)/((A+B-1)*(1-J2))
05415GOSUB 5436
05418D9=G6
05421Y=(A-.5)/((A+B-1)*J2)
05424GOSUB 5436
05427Y3=D0*SQR((1+J2*D9+(1-J2)*G6)/((A+B-5/6)*(1-J2)*J2))
05430GOSUB 8000
05433RETURN
05436IF Y<.00001 THEN 5451
05439IF ABS(Y-1)<.00001 THEN 5457
05442G6=(1-Y*Y+2*Y*LOG(Y))/(1-Y)**2
05445IF G6>-1 THEN 5460
05446G6=-1
05448GOTO 5460
05451G6=1
05454GOTO 5460
05457G6=0
05460RETURN
05465REM    END BETA CDF ROUTINE
05470REM***********************************************************
05600REM************************************************************
05606REM     BETA  PERCENTILE   ROUTINE
05609REM        INPUTS    P1
05612REM        OUTPUTS      J2
05615J1=0
05618P2=P1/100+.02
05619IF P2<1 THEN 5621
05620P2=.999
05621GOSUB 5762
05624GOSUB 5000
05627IF ABS(P1/100-P)<.0001 THEN 5750
05630IF P1/100>P THEN 5639
05633E4=J2
05636P8=P
05637A7=P2-.02
05638GOTO 5669
05639E1=J2
05642P7=P
05643A8=P2+.02
05645IF A8<1 THEN 5651
05648A8=.9999
05651P0=A8
05654P2=P0
05657GOSUB 5762
05658GOSUB 5000
05659IF P1/100 <= P THEN 5665
05660J2=J2+.03
05661IF J2<.999 THEN 5658
05662J2=.99991
05663GOTO 5658
05665E4=J2
05666P8=P
05667GOTO 5693
05669IF A7>0 THEN 5675
05672A7=.00001
05675P0=A7
05678P2=P0
05681GOSUB 5762
05682GOSUB 5000
05683IF P <= P1/100 THEN 5690
05684J2=J2-.03
05685IF J2>.001 THEN 5682
05686J2=.0001
05687GOTO 5682
05690P7=P
05691E1=J2
05693E2=E4
05696J2=(P1/100-P7)/(P8-P7)
05699IF J2>.05 THEN 5708
05705J2=.05
05706GOTO 5711
05708IF J2<.85 THEN 5711
05709J2=.85
05711J2=E1+J2*(E2-E1)
05714J1=0
05717GOSUB 5000
05720IF ABS(E1-E2)<.0001 THEN 5750
05726IF ABS(P-P1/100)<.0001 THEN 5750
05729IF P>P1/100 THEN 5741
05732E1=J2
05735P7=P
05738GOTO 5696
05741E2=J2
05744P8=P
05747GOTO 5696
05750RETURN
05753REM        END OF PERCENTILE ROUTINE
05756REM
05759REM ***************************************************
05762REM*********************************************************
05768REM         INVERSE BETA FUNCTION
05771REM                  INPUTS P2
05774REM                    OUTPUTS J2
05777P3=P2
05780IF P2 <= .5 THEN 5786
05783P2=1-P2
05786A1=SQR(LOG(1/P2/P2))
05789A2=2.51552+.802853*A1+.010328*A1*A1
05792A2=A2/(1+1.43279*A1+.189269*A1*A1+.001308*A1*A1*A1)
05795J2=A1-A2
05798IF P3 <= .5 THEN 5810
05801P2=P3
05804J2=-J2
05807GOTO 5813
05810REM
05813L=J2*J2-3
05816L=L/6
05819H=2/(1/(2*A-1)+1/(2*B-1))
05822D=1/(2*B-1)-2/(2*A-1)
05825W=J2*(H+L) ** .5/H-D*(L+5/6-2/H/3)
05828X4=A/(A+B*EXP(2*W))
05831J2=X4
05837RETURN
05840REM*********************  END INVERSE BETA  **********************
05850REM ****************************************************
05852REM        LOG GAMMA ROUTINE
05853REM           INPUT G9
05854REM           OUTPUT G0
05860G5=G9
05863IF G9 <= 1.E+30 THEN 5872
05866G0=1.E+38
05869RETURN
05872IF G9>1.E-09 THEN 5881
05875G0=0
05878RETURN
05881IF G9<1.E+10 THEN 5890
05884G0=G9*(LOG(G9)-1)
05887RETURN
05890G6=1
05893IF 18<G5 THEN 5905
05896G6=G6*G5
05899G5=G5+1
05902GOTO 5893
05905R8=1/G5**2
05908G0=(G5-.5)*LOG(G5)-G5+.918939-LOG(G6)
05911C1=8.33333E-02
05914C2=2.77778E-03
05917C3=7.93651E-04
05920C4=5.95238E-04
05923G0=G0+1/G5*(C1-(R8*(C2+(R8*(C3-(R8*(C4)))))))
05926RETURN
05927REM          END OF LOG GAMMA ROUTINE
05928REM ****************************************************
07000REM**************************************************************
07002REM       BETA HDR ROUTINE
07004REM            INPUT     A      B        J5
07006REM            OUTPUT           J1        J2
07008J8=2
07010GOSUB 5220
07012REM
07014J7=J8
07016GOSUB 7082
07018IF J8<-99 THEN 7028
07020P9=0
07022GOSUB 5000
07024P0=P
07026IF ABS(P0-J5)>.001 THEN 7030
07028RETURN
07030IF P0>J5 THEN 7038
07032J8=J8+J7
07034P9=P0
07036GOTO 7016
07038J9=J8-J7
07040J0=J8
07042J8=(J5-P9)/(P0-P9)
07044IF J8>.15 THEN 7050
07046J8=.15
07048GOTO 7054
07050IF J8<.85 THEN 7054
07052J8=.85
07054J8=J8*(J0-J9)+J9
07056GOSUB 7082
07058IF J8<-99 THEN 7066
07060GOSUB 5000
07062J3=P
07064IF ABS(J3-J5)>.001 THEN 7068
07066RETURN
07068IF J3>J5 THEN 7076
07070J9=J8
07072P9=J3
07074GOTO 7042
07076J0=J8
07078P0=J3
07080GOTO 7042
07082J=(A-1)/(B-1)
07084J1=(J8**J-1)/(J8**(J+1)-1)
07086J2=J8*J1
07088IF J2<1 THEN 7094
07090J8=J8*.95
07092GOTO 7084
07094RETURN
07096REM       END OF BETA HDR ROUTINE
07098REM*************************************************
08000REM **********************************************************
08001REM      ROUTINE CALCULATES THE CDF FOR NORMAL DISTRIBUTION
08002REM               INPUT       Y3
08003REM               OUTPUT      P
08004REM
08005Y4=ABS(Y3)
08010X1=X
08015X=Y3
08020T=1/(1+.231642*Y4)
08025D=.398942*EXP(-X*X/2)
08030C1=1.33027
08035C2=1.82126
08040C3=1.78148
08045C4=.356564
08050C5=.319382
08055P=1-D*T*((((C1*T-C2)*T+C3)*T-C4)*T+C5)
08060IF X >= 0 THEN 8070
08065P=1-P
08070X=X1
08075RETURN
08076REM
08077REM        END OF NORMAL CDF ROUTINE
08078REM **********************************************************
08500J9=1
08510V2=N9
08520V1=N8
08530J9=1
08540J6=5
08550GOSUB 8570
08560GOTO 8650
08570D=J6
08580J8=V2/V1
08590J8=J8*(D**((2+V2)/(V1+V2))-D)
08600J8=J8/(1-D**((2+V2)/(V1+V2)))
08610L0=J8/J6
08620U0=J8
08630RETURN
08640GOSUB 8570
08650J1=0
08660J2=U0*A/(B+U0*A)
08670GOSUB 5000
08680P9=P
08690J1=0
08700J2=L0*A/(B+L0*A)
08710GOSUB 5000
08720IF J5<P9-P THEN 8760
08730J9=J6
08740J6=J6**1.4
08750GOTO 8640
08760J7=J6
08770J6=.5*(J9+J7)
08780GOSUB 8570
08790J1=0
08800J2=L0*A/(B+L0*A)
08810GOSUB 5000
08820P9=P
08830J2=U0*A/(B+U0*A)
08840GOSUB 5000
08850IF ABS(J5-P+P9)>.0001 THEN 8870
08860GOTO 8940
08870IF J5>P-P9 THEN 8900
08880J7=J6
08890GOTO 8770
08900J9=J6
08910GOTO 8770
08940J1=L0
08950J2=U0
08960RETURN
09000REM--SUBROUTINE THAT DETERMINES IF RESTART HAS BEEN REQUESTED.
09005INPUT O1
09015IF O1=-9999 THEN 9025
09020RETURN
09025CHAIN "RSTRT"
09035REM*************END ROUTINE
09400 REM
09412  T\$=">>>>>>>>>1>>>>>>>>>2>>>>>>>>>3>>>>>>>>>4>>>>>>>>>5>>>>>>"
09414  S\$="\\\\\\\\\I\\\\\\\\\I\\\\\\\\\I\\\\\\\\\I\\\\\\\\\I"
09416  U\$="/////////I/////////I/////////I/////////I/////////I"
09420REM
09422M0=B9*(N8-2)/B8/(N9+2)
09426GOTO 9512
09450  :####.##  I'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCONTINUE=1
09458IF J2>999.99 THEN 9560
09460IF J2>M0+.4*K2 THEN 9472
09461IF J2<M0-.4*K2 THEN 9466
09462  PRINT  USING 9466,J2,MID\$(T\$,1,K7-(1)+1)
09464GOTO 9474
09466:####.##  I'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
09468  PRINT  USING 9466,J2,MID\$(S\$,1,K7-(1)+1)
09470GOTO 9474
09472  PRINT  USING 9466,J2,MID\$(U\$,1,K7-(1)+1)
09474RETURN
09510REM ***************************************************************
09512J5=.975
09513PRINT
09514PRINT "THESE ARE THE PARAMETERS OF THE F DISTRIBUTION TO BE GRAPHED."
09515GOSUB 8500
09516K1=J2/K7
09517PRINT "WHEN YOU ARE READY FOR THE GRAPH TO BE DISPLAYED TYPE '1'."
09518K0=J1/K7
09519K4=K7
09520K2=(K1-K0)/19
09521GOSUB 9000
09522J2=M0
09523PRINT L\$
09524GOSUB 3130
09525REMPRINTUSING9527
09526D6=D2
09527:         GRAPH OF THE F ##.# % HDR
09528IF K1-K2-K0<.01 THEN 9582
09530FOR J2=K0 TO K1-.9*K2 STEP K2
09532GOSUB 3130
09533K7=EXP(D2-D6+LOG(50))
09534 IF K7>=1 THEN 9536
09535 K7=1
09536GOSUB 9458
09538NEXT J2
09540J2=K1
09542GOSUB 3130
09543K7=EXP(D2-D6+LOG(50))
09544 IF K7>=1 THEN 9546
09545 K7=1
09546IF J2<.01 THEN 9575
09547IF J2>9999.99 THEN 9575
09548  PRINT  USING 9450,K1,MID\$(U\$,1,K7-(1)+1)
09555GOSUB 9000
09556RETURN
09560IF J2>M0+.4*K2 THEN 9572
09561IF J2<M0-.4*K2 THEN 9566
09562  PRINT  USING 9566,J2,MID\$(T\$,1,K7-(1)+1)
09564RETURN
09566:##.##^^^^ I'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
09568  PRINT  USING 9566,J2,MID\$(S\$,1,K7-(1)+1)
09570RETURN
09572  PRINT  USING 9566,J2,MID\$(U\$,1,K7-(1)+1)
09574RETURN
09575  PRINT  USING 9580,K1,MID\$(U\$,1,K7-(1)+1)
09577GOTO 9555
09580  :##.##^^^^ I'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCONTINUE=1
09582PRINT "THE HIGHEST DENSITY REGION IS WITHIN TO SMALL A RANGE TO BE"
09583PRINT "ACCURATELY DISPLAYED.  THE UPPER AND LOWER BOUNDS ARE"
09584PRINT "WITHIN .00X AND .00Y OF EACH OTHER.  THIS INTERVAL CAN BE"
09585PRINT "OBTAINED FROM THE HIGHEST DENSITY REGION MODULE."
09586PRINT "WHEN YOU WANT TO CONTINUE TYPE '1'.";
09587GOTO 9555
09999 END

```