Saturday, January 6, 2018

Calculul entropiei

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