C C .................................................................. C C SUBROUTINE HIST C C PURPOSE C PRINT A HISTOGRAM OF FREQUENCIES VERSUS INTERVALS C C USAGE C CALL HIST(NU,FREQ,IN) C C DESCRIPTION OF PARAMETERS C NU - HISTOGRAM NUMBER (3 DIGITS MAXIMUM) C FREQ - VECTOR OF FREQUENCIES C IN - NUMBER OF INTERVALS AND LENGTH OF FREQ (MAX IS 20) C NORMALLY, FREQ(1) CONTAINS THE FREQUENCY SMALLER THAN C THE LOWER BOUND AND FREQ(IN) CONTAINS THE FREQUENCY C LARGER THAN THE UPPER BOUND C C REMARKS C FREQUENCIES MUST BE POSITIVE NUMBERS C C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED C NONE C C METHOD C THE LARGEST FREQUENCY IS DETERMINED AND SCALING IS USED C IF REQUIRED C C .................................................................. C SUBROUTINE HIST(NU,FREQ,IN) DIMENSION JOUT(20),FREQ(20) C 1 FORMAT(6H EACH ,A1,8H EQUALS ,I2,7H POINTS,/) 2 FORMAT(I6,4X,20(4X,A1)) 3 FORMAT(9H0INTERVAL,4X,19(I2,3X),I2) 4 FORMAT(1H1,47X,11H HISTOGRAM ,I3) 5 FORMAT(10H0FREQUENCY,20I5) 6 FORMAT(6H CLASS) 7 FORMAT(113H ---------------------------------------------------- 1----------------------------------------------------------) 8 FORMAT(1H ) 9 FORMAT(A1) 10 FORMAT(1H*) C REWIND 13 WRITE(13,10) REWIND 13 READ(13,9) K REWIND 13 WRITE(13,8) REWIND 13 READ(13,9) NOTH REWIND 13 C C PRINT TITLE AND FREQUENCY VECTOR C WRITE(6,4) NU DO 12 I=1,IN 12 JOUT(I)=FREQ(I) WRITE(6,5)(JOUT(I),I=1,IN) WRITE(6,7) C C FIND LARGEST FREQUENCY C FMAX=0.0 DO 20 I=1,IN IF(FREQ(I)-FMAX) 20,20,15 15 FMAX=FREQ(I) 20 CONTINUE C C SCALE IF NECESSARY C JSCAL=1 IF(FMAX-50.0) 40,40,30 30 JSCAL=(FMAX+49.0)/50.0 WRITE(6,1)K,JSCAL C C CLEAR OUTPUT AREA TO BLANKS C 40 DO 50 I=1,IN 50 JOUT(I)=NOTH C C LOCATE FREQUENCIES IN EACH INTERVAL C MAX=FMAX/FLOAT(JSCAL) DO 80 I=1,MAX X=MAX-(I-1) DO 70 J=1,IN IF(FREQ(J)/FLOAT(JSCAL)-X) 70,60,60 60 JOUT(J)=K 70 CONTINUE IX=X*FLOAT(JSCAL) C C PRINT LINE OF FREQUENCIES C 80 WRITE(6,2)IX,(JOUT(J),J=1,IN) C C GENERATE CONSTANTS C DO 90 I=1,IN 90 JOUT(I)=I C C PRINT INTERVAL NUMBERS C WRITE(6,7) WRITE(6,3)(JOUT(J),J=1,IN) WRITE(6,6) RETURN END