-
Notifications
You must be signed in to change notification settings - Fork 0
/
gauess_elimination.f95
66 lines (43 loc) · 1.07 KB
/
gauess_elimination.f95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
!FINDING SOLUTION OF ALGEBRIC EQUATIONS BY USING GAUSS'S ELIMINATION METHOD
PROGRAM GAUSS_ELIMINATION
IMPLICIT NONE
REAL::AUG(100,100),TEMP,X(100)
INTEGER::I,J,K,L,R,C
PRINT*,"ENTER THE ROW AND COLUMN OF AUGMENTED MATRIX"
READ*,R,C
PRINT*,"ENTER THE ELEMENTS OF THE AUGMENTED MATRIX"
DO I=1,R
DO J=1,C
READ*,AUG(I,J)
END DO
END DO
!NOW PERFORMING THE PROCESS TO MAKE UPPER TRAINGULAR FORM
DO L=1,R-1
DO I=L+1,R
TEMP=AUG(I,L)/AUG(L,L)
DO J=1,C
AUG(I,J)=AUG(I,J)-TEMP*AUG(L,J)
END DO
END DO
END DO
!PRINTING UPPER TRAINGULAR MATRIX
PRINT*,"UPPER TRANGULAR MATRIX"
DO I=1,R
PRINT*,(AUG(I,J),J=1,C)
END DO
DO I=1,R
X(I)=0
END DO
!NOW SOLVE THE EQUATION FROM UPPER TRAINGULAR MATRIX
PRINT*,"YOUR'S RESULT:"
X(R)=AUG(R,C)/AUG(R,C-1) !LAST VALUE OF X
PRINT*,"X(",R,") :",X(R)
DO L=R-1,1,-1
TEMP=0
DO I=L+1,C-1
TEMP = TEMP+AUG(L,I)*X(I)
END DO
X(L) = (AUG(L,C)-TEMP)/AUG(L,L)
PRINT*,"X(",L,") :",X(L)
END DO
END PROGRAM GAUSS_ELIMINATION