Sunday, December 24, 2017

Înmulțirea a două matrice

Dacă se dă matricea A cu m linii și n coloane, pentru a fi înmulțită cu matricea B, această matrice B trebuie să aibă n linii și k coloane, iar matricea rezultate C va avea m linii și k coloane. Subprogramul va fi:

         SUBROUTINE PROMAT (A,B,C,M,N,K)
         DO 20 I=1,M
         DO 20 J=1,K
         CIJ=0.
         DO 10 L=1,N
10     CIJ=CIJ+A(I,L)*B(L,J)
         C(I,J)=CIJ
20     CONTINUE
         RETURN
         END

A fost folosită variabila CIJ pentru a nu referi de prea multe ori C(I,J) a cărei adresă presupune niște calcule ce necesită oarece cicluri mașină și în acest fel se execută mai repede programul care ar lucra cu o matrice cu mii de linii și mii de coloane.
Înmulțirea a două matrice așa cum este dată aici nu conține și variabila de stare ca să se verifice dacă matricile îndeplinesc condiția ca ele să se înmulțească, lucru care ar fi presupus ca lista de parametrii să fie cu mult mai bogată, să conțină separat numărul de linii și numărul de coloane pentru cele trei matrice.

(24 decembrie 2017)


No comments:

Post a Comment