next up previous
Next: Variable Dimensioning Up: Sample programs Previous: Structures

Arrays and subroutines

      program array

      implicit none
      integer i, j
      real x(4), b(4), A(4,4)

c      DEFINE THE MATRIX  A  VIA A DOUBLE LOOP
      do j=1,4
        do i = 1,4
          A(i,j)=i+j-1.0
        enddo
        x(j)=j**1.5
      end do

c      CALL SUBROUTINE TO PERFORM THE MULTIPLICATION
      call matmul(A,x,b)

c      DUMP OUT THE RESULT
      do i=1,4
        write(*,*)"b(",i,") = ",b(i)
      enddo

      end

      subroutine matmul(Mat,vin,vout)
      implicit none
      integer i, j
      real vin(4), vout(4), Mat(4,4)

      do i=1,4
        vout(i)=0.0
        do j = 1,4
          vout(i)=vout(i)
     1            +Mat(i,j)*vin(j)
        enddo
      end do

      return
      end





E. Bruce Pitman
Tue Sep 15 18:15:17 EDT 1998