Pokaż wyniki 1 do 2 z 2

Temat: [Fortran] macierze blas

  1. #1

    Domyślnie [Fortran] macierze blas

    Hej! Napisalam prosty programik do mnozenia macierzy uzywajac procedury blasa:
    Kod:
    program macierz
      implicit none
      double precision mac(m,n),mac2(n,k),mac3(m,k)
      integer R,L
      integer m,n
      integer k
    
       m=2
       n=2
       k=3
    
      call FILLMATRIX(m,n,mac)
      call FILLMATRIX(n,k,mac2)
      call DGEMM("n","n",m,k,n,1.d0,mac,m,mac2,k,0.d0,mac3,m)
    
      WRITE(*,*)'Macierz C ma postac'
        DO R=1,m
          write(*,*) (mac3(R,L),L=1,k)
        end do
    
      END
    
    SUBROUTINE FILLMATRIX (M,N,MATRIX)
       INTEGER M,N
       DOUBLE PRECISION MATRIX(M,N)
    
        do  I=1,M
        do  J=1,N
          MATRIX(I,J) = I+2*J
        end do
        end do
    
      WRITE(*,*) 'Macierz ma postac'
        do I=1,M
         write(*,*) (MATRIX(I,J),J=1,N)
        end do
    
      END
    Jednakze, macierz mac3 jest wyswitlana w nastepujacej postaci:
    Kod:
     Macierz C ma postac
        29.00000000000000        0.0000000000000000        0.0000000000000000     
        36.00000000000000        0.0000000000000000        0.0000000000000000
    Dlaczego dobrze wyswietla tylko pierwsza kolumne, a reszta jest wypelnina zerami?
    Czy ktos z Was moze wskazac mi moj blad?
    Ostatnio edytowane przez Gosik : 12-22-2012 - 12:22

  2. #2

    Domyślnie

    Nie napisałeś ani kodu funkcji mac3 ani wymnażającej macierze.

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj