File: MOMEN.FT of Tape: Various/ETH/eth11-1
(Source file text)
C .................................................................. C C SUBROUTINE MOMEN C C PURPOSE C TO FIND THE THE FIRST FOUR MOMENTS FOR GROUPED DATA ON C EQUAL CLASS INTERVALS. C C USAGE C CALL MOMEN (F,UBO,NOP,ANS) C C DESCRIPTION OF PARAMETERS C F - GROUPED DATA (FREQUENCIES). GIVEN AS A VECTOR OF C LENGTH (UBO(3)-UBO(1))/UBO(2) C UBO - 3 CELL VECTOR, UBO(1) IS LOWER BOUND AND UBO(3) UPPER C BOUND ON DATA. UBO(2) IS CLASS INTERVAL. NOTE THAT C UBO(3) MUST BE GREATER THAN UBO(1). C NOP - OPTION PARAMETER. IF NOP = 1, ANS(1) = MEAN. IF C NOP = 2, ANS(2) = SECOND MOMENT. IF NOP = 3, ANS(3) = C THIRD MOMENT. IF NOP = 4, ANS(4) = FOURTH MOMENT. C IF NOP = 5, ALL FOUR MOMENTS ARE FILLED IN. C ANS - OUTPUT VECTOR OF LENGTH 4 INTO WHICH MOMENTS ARE PUT. C C REMARKS C NOTE THAT THE FIRST MOMENT IS NOT CENTRAL BUT THE VALUE OF C THE MEAN ITSELF. THE MEAN IS ALWAYS CALCULATED. MOMENTS C ARE BIASED AND NOT CORRECTED FOR GROUPING. C C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED C NONE C C METHOD C REFER TO M. G. KENDALL, 'THE ADVANCED THEORY OF STATISTICS', C V.1, HAFNER PUBLISHING COMPANY, 1958, CHAPTER 3. C C .................................................................. C SUBROUTINE MOMEN (F,UBO,NOP,ANS) DIMENSION F(1),UBO(1),ANS(1) C DO 100 I=1,4 100 ANS(I)=0.0 C C CALCULATE THE NUMBER OF CLASS INTERVALS C N=(UBO(3)-UBO(1))/UBO(2) C C CALCULATE TOTAL FREQUENCY C T=0.0 DO 110 I=1,N 110 T=T+F(I) C IF(NOP-5) 130, 120, 115 115 NOP=5 120 JUMP=1 GO TO 150 130 JUMP=2 C C FIRST MOMENT C 150 DO 160 I=1,N FI=I 160 ANS(1)=ANS(1)+F(I)*(UBO(1)+(FI-0.5)*UBO(2)) ANS(1)=ANS(1)/T C GO TO (350,200,250,300,200), NOP C C SECOND MOMENT C 200 DO 210 I=1,N FI=I 210 ANS(2)=ANS(2)+F(I)*(UBO(1)+(FI-0.5)*UBO(2)-ANS(1))**2 ANS(2)=ANS(2)/T GO TO (250,350), JUMP C C THIRD MOMENT C 250 DO 260 I=1,N FI=I 260 ANS(3)=ANS(3)+F(I)*(UBO(1)+(FI-0.5)*UBO(2)-ANS(1))**3 ANS(3)=ANS(3)/T GO TO (300,350), JUMP C C FOURTH MOMENT C 300 DO 310 I=1,N FI=I 310 ANS(4)=ANS(4)+F(I)*(UBO(1)+(FI-0.5)*UBO(2)-ANS(1))**4 ANS(4)=ANS(4)/T 350 RETURN END C