Formula uzuală an entropiei H unui sistem care se făsește în una din stările S1, S2, S3, ..., Sn este:
unde:
n - numărul de stări ale sistemului
pi - probabilitatea ca sistemul să se afle în starea Si.
Trebuie reținut faptul că biblioteca de funcții a limbajului FORTRAN IV nu conține funcție care să permită extragerea logaritmului din baza 2, ceea ce impune lucrul cu subprogramul de calcul a logaritmului din baza 10. Deci se volosește formul:
log2(A) = log10(A)/log10(2.) Se va folosi funcția ALOG10().
Subprogramul ENTRO ( ...) care calculează entropia este:
SUBROUTINE ENTRO(P,N,H,IK)
IK=0
SUM=0.
DO 10 I=1,N
IF(((P(I).LT.0).OR.(P(I).GT.1.)) GO TO 30
SUM=SUM+P(I)
10 CONTINUE
IK=2
IF(SUM.NE.1) GO TO 20
IK=1
ALFA=1./ALOG10(2.)
H=0.
DO 20 I=1,N
H=H+P(I)*ALOG10(P(I))*ALFA
20 CONTINUE
H=-H
30 CONTINUE
RETURN
END
Subprogramul returnează IK=0 dacă datele nu sunt corecte, returnează IK=1 dacă rezultatul este cel dorit, returnează IK=2 dacă suma probabilităților nu este 1.
(06 ianuarie 2018)
No comments:
Post a Comment