Monday, December 25, 2017

Sume pe linii în matrice

Se consideră o matrice A cu m linii și n coloane și se pune problema caculului a m sume SUMLIN(I) cu i=1,2,3, ..., m pentru elementele de pe fiecare linie.

         SUBROUTINE ADMAT (A,B,C,M,N)
         DO 10 I=1,M
         SUMLIN(I)=0.
         DO 10 J=1,N
10     SUMLIN(I)=SUMLIN(I)+A(I,J)
         RETURN
         END

sau ceva mai îmbunătățit din cauză că se referă o variab ilă elementară și nu una indexată ceea ce reduce numărul de cicluri mașină, numai că apar atribuiri în plus:

         SUBROUTINE ADMAT (A,B,C,M,N)
         DO 20 I=1,M
         SUMLINI=0.
         DO 10 J=1,N
10     SUMLINI=SUMLINI+A(I,J)
         SUMLIN(I)=SUMLINI
20     CONTINUE
         RETURN
         END
Sume pe linii în matrice se fac în multe calcule statistice, dar rezultatele apar într-o linie alăturată din matrice, coloana n+1.
         SUBROUTINE ADMAT (A,B,C,M,N)
         DO 20 I=1,M
         SUMLINI=0.
         DO 10 J=1,N
10     SUMLINI=SUMLINI+A(I,J)
         A(I,N+1)=SUMLINI
20     CONTINUE

         RETURN
         END


(26 decembrie 2017)

No comments:

Post a Comment