Difference between revisions of "Kelompok 5"
Auliarifai (talk | contribs) (Created page with "'''Kelompok 5''' -Aulia Rifai -Adriel Aaron -Adim Dalam post ini, kelompok kami akan menjelaskan mengenai eliminasi Gauss-Jordan menggunakan program Phyton. Dalam aljabar l...") |
Auliarifai (talk | contribs) |
||
Line 81: | Line 81: | ||
print("\n") | print("\n") | ||
printMatrixform(M) | printMatrixform(M) | ||
+ | |||
+ | |||
+ | untuk membuktikan, kami menggunakan matrix 3x4 = | ||
+ | |||
+ | 0 2 1 4 | ||
+ | 1 1 2 6 | ||
+ | 2 1 1 7 |
Revision as of 12:08, 2 October 2019
Kelompok 5 -Aulia Rifai -Adriel Aaron -Adim
Dalam post ini, kelompok kami akan menjelaskan mengenai eliminasi Gauss-Jordan menggunakan program Phyton. Dalam aljabar linear, eliminasi Gauss-Jordan adalah algoritme versi dari eliminasi Gauss. Pada metode eliminasi Gauss-Jordan kita membuat nol elemen-elemen di bawah maupun di atas diagonal utama suatu matriks. Hasilnya adalah matriks tereduksi yang berupa matriks diagonal satuan (Semua elemen pada diagonal utama bernilai 1, elemen-elemen lainnya nol).
Metode eliminasi Gauss-Jordan kurang efisien untuk menyelesaikan sebuah SPL, tetapi lebih efisien daripada eliminasi Gauss jika kita ingin menyelesaikan SPL dengan matriks koefisien sama.
Motede tersebut dinamai Eliminasi Gauss-Jordan untuk menghormati Carl Friedrich Gauss dan Wilhelm Jordan.
Untuk codingnya, kami menggunakan sebagai berikut
def printMatrixline(M):
for x in range(lenX): for y in range(lenY): print("M[" + str(x) + "," + str(y) + "]: " + str(M[x][y]))
def printMatrixform(M):
for x in range(lenX): for y in range(lenY): print(str(M[x][y]) + " ", end = ) print("\n")
print("Insert row: ") lenX = int(input()) print("insert column: ") lenY = int(input())
M = [[0 for x in range(lenY)] for y in range(lenX)]
if lenY - 1 != lenX:
print("Your matrix cannot be used.")
else:
#input matrix for x in range(lenX): for y in range(lenY): print("M[" + str(x) + "," + str(y) + "]: ") M[x][y] = int(input()) print("\n") #printMatrixline(M) printMatrixform(M) print("\n")
flag = 0 n = lenX
for i in range(n):
if M[i][i] == 0: c = 1 while M[i + c][i] == 0 and (i + c) < n: c += 1
if (i + c) == n: flag = 1 break
j = i for k in range(n + 1): temp = M[j][k] M[j][k] = M[j + c][k] M[j + c][k] = temp for j in range(n): if i != j: p = M[j][i] / M[i][i]
for k in range(n + 1): M[j][k] = M[j][k] - (M[i][k]) * p
printMatrixform(M)
for i in range(n): if M[i][i] != 1: p = M[i][i] M[i][n] = M[i][n] / p M[i][i] = M[i][i] / p print("\n") printMatrixform(M)
untuk membuktikan, kami menggunakan matrix 3x4 =
0 2 1 4 1 1 2 6 2 1 1 7