care în subprogramul fortran se calculează un pic mai pe ocolite pentru că extragerea radicalului de ordin n se va face indirect și anume:
- produsul se logaritmează și apare ca o sumă;
- suma se împarte la n;
- media geometrică XMEDG se obține prin antilogaritmare.
SUBROUTINE MEDARMON (X,N,XMEDARM, IK)
IF(N.LT.2) GO TO 30
DO 10 I=1,N
SUMX=0.
DO 10 I=1,N
IF(X(I).EQ.0)GO TO 20
DO 10 I=1,N
10 SUMX=SUMX+LOG(X(I))
IK=1
RAPORT=SUMX/N
XMEDARM=EXP(RAPORT)
GO TO 40
20 IK=2
XMEDP=-1.
GO TO 40
30 IK=3
XMEDARM=-2
40 RETURN
END
Calcul medie armonică este cu un subprogram fiabil dacă sunt testate valorile șirului X pentru a evita împărțiri prin zero.
(23 decembrie 2017)
No comments:
Post a Comment