SOLUTION OF LINEAR SYSTEM MATRICES WITH GUASS ELIMINATION METHOD
-
Upload
ariadne-tsambali -
Category
Documents
-
view
150 -
download
2
Transcript of SOLUTION OF LINEAR SYSTEM MATRICES WITH GUASS ELIMINATION METHOD
DESIGN AN ALGORITHM UNDER FORTRAN
95 TO SOLVED A LINEAR SYSTEM OF
MATRICESWITH THE GUASS ELIMINATION
METHOD.
FORTRAN
ALGORITHM FOR
A LINEAR SYTSEM
OF MATRICES
ARIADNE TSAMBALI
SOLUTION OF LINEAR SYSTEM MATRICES WITH GUASS ELIMINATION METHOD:- [K][h]=[b]
PROGRAM MATRICES
!SOLUTION OF A LINEAR SYSTEM WITH GAUSS
IMPLICIT NONE
REAL,ALLOCATABLE:: A(:,:), B(:),H(:)
INTEGER::status, I,J,N=3
ALLOCATE (A(N,N),B(N),H(N), STAT=status)
IF (status /= 0) THEN
STOP 'NOT ENOUGH MEMORY'
ELSE
DO I = 1,N !GIVE THE NUMBERS
PRINT*, 'EQUATION', I
DO J = 1,N
PRINT*, 'GIVE A(',J,',',I,')'
READ*,A(J,I)
ENDDO
PRINT*, 'GIVE B(',I,')'
READ*, B(I)
ENDDO
! GAUSS
CALL GAUSS (A,B,H)
DO I = 1,N
PRINT*,'H(',I,')=', H(I)
ENDDO
END IF
CONTAINS
SUBROUTINE GAUSS(A,B,H)
REAL:: A(:,:),B(:)
REAL:: ATHRISMA,M(SIZE(B))
REAL,INTENT(OUT)::H(:)
INTEGER, SAVE:: I,J,K
DO I = 1, SIZE(B)-1
DO J = I+1, SIZE(B)
M(J) = -A(J,I)/A(I,I)
DO K = 1, SIZE(B)
A(J,K) = A(J,K) + M(J)*A(I,K)
ENDDO
B(J) = B(J)+M(J)*B(I)
ENDDO
ENDDO
DO I = SIZE(B),1,-1
ATHRISMA = 0.0
ATHRISMA = SUM(A(I,I:SIZE(B))*H(I:SIZE(B)))
H(I) = (B(I)-ATHRISMA) /A(I,I)
ENDDO
END SUBROUTINE GAUSS
END PROGRAM