Está en la página 1de 1

PROGRAM ejemplo_9_5 IMPLICIT NONE REAL , ALLOCATABLE , DIMENSION & (:,:)::One,Two,Three,One_T INTEGER :: I,N INTERFACE SUBROUTINE Matrix_bits(A,B,C,A_T) IMPLICIT

NONE

! SUBROUTINE Matrix_bits(A,B,C,A_T) IMPLICIT NONE REAL, DIMENSION (:,:), INTENT(IN) :: A,B REAL, DIMENSION (:,:), INTENT(OUT) :: C,A_T C=MATMUL(A,B) A_T=TRANSPOSE(A) END SUBROUTINE Matrix_bits

yn = yn + (h/24.)*(9.*fnp + 19.*f(n) 5.*f(n-1)+f(n-2)) dn = (yn -ynp)/14. f(n-3) = f(n-2) f(n-2) = f(n-1) f(n-1) = f(n) f(n) = xn + yn yxn = sol(xn) en = yn - yxn print*,k,XN,YN,DN,EN end do end program Adams winapp program dynamic_array implicit none

REAL, DIMENSION (:,:), INTENT(IN) :: A,B REAL, DIMENSION (:,:), INTENT(OUT) :: C,A_T END SUBROUTINE Matrix_bits

winapp real function sol(x) sol = exp(x) -1.0 -x end function sol

END INTERFACE PRINT *,'Dimensin de las matrices' READ*,N ALLOCATE(One(1:N,1:N)) ALLOCATE(Two(1:N,1:N)) ALLOCATE(Three(1:N,1:N)) ALLOCATE(One_T(1:N,1:N)) DO I=1,N PRINT*, 'Fila ', I,' de la primer matriz?' READ*,One(I,1:N) END DO DO I=1,N PRINT*, 'Fila ', I,' de la segunda matriz?' READ*,Two(I,1:N) END DO CALL Matrix_bits(One,Two,Three,One_T) PRINT*,' Resultado: Matriz Producto:' DO I=1,N PRINT *,Three(I,1:N) END DO PRINT *,' Matriz traspuesta A^T:'! Calcula la matriz transpuesta. DO I=1,N PRINT *,One_T(I,1:N) END DO END PROGRAM ejemplo_9_5 program adams real , dimension(4) :: f n=4 h= 1.0/32.0 nstep = 32

real, dimension (:,:), allocatable :: a integer :: dim1, dim2 integer :: i, j print*, "Give dimensions dim1 and dim2: " read*, dim1, dim2

y0=0.0 x0= 0.0 dn= 0.0 en= 0.0 nt=0 f(1) = x0 + y0 xn = x0 print*," Y0 "," NT "," DN "," X0 "," EN " ! now that the size of a is know, allocate memory for it allocate ( a(dim1,dim2) ) do i = 1, dim2 do j = 1, dim1 a(j,i) = i*j print*,"a(",j,i,") = ", a(j,i) end do end do print*,nt,x0,y0,dn,en deallocate (a) do i= 2,4 end program dynamic_array k= i-1 xn=xn + h yn= sol(xn) f(i) = xn + yn ! print*,k,xn,yn end do do k= 4,nstep ynp = yn + (h/24.)*(55.*f(n) -59.*f(n1)+37.*f(n-2)-9.*f(n-3)) xn = xn + h fnp = xn +ynp

También podría gustarte