Algoritma python untuk kuis
Problem set 2.1 no 6 hal 55 (buku "Numerical Methods in Engineering with Python 3")
Berikut ini adalah algoritmanya :
from numpy import array, zeros a = array([[0,0,2,1,2],\ [0,1,0,2,-1],\ [1,2,0,-2,0],\ [0,0,0,-1,1],\ [0,1,-1,1,1]]) b = array([[1],\ [1],\ [-4],\ [-2],\ [-1]]) c = zeros((5,6)) # ini dilakukan untuk menyusun matrik a dan matrik b menjadi satu matrik 5 x 6 for j in range(0,5) : for i in range (0,5): c[j][i]=a[j][i] for j in range (0,5): c[j][5]=b[j][0] d = zeros((5,6)) # langkah ini dilakukan untuk menyusun baris dari matrik c menjadi terstruktur seperti eliminasi gauss d[0]=c[2] d[1]=c[1] d[2]=c[4] d[3]=c[0] d[4]=c[3] # Langkah dibawah dilakukan untuk Operasi Baris Elementer matrik c n = len (d) for j in range (1,n): m=d[j][0]/d[0][0] for i in range (0,n+1): d[j][i]=d[j][i]-m*d[0][i] for j in range(2, n): m = d[j][1]/d[1][1] for i in range(1,n+1): d[j][i]=d[j][i]-m*d[1][i] for j in range(3, n): m = d[j][2]/d[2][2] for i in range(1,n+1): d[j][i]=d[j][i]-m*d[2][i] for j in range(4,n): m = d[j][3]/d[3][3] for i in range(1,n+1): d[j][i]=d[j][i]-m*d[3][i] # Langkah dibawah dilakukan untuk back substitution demi mendapatkan hasil x1, x2. x3, x4, dan x5 X = zeros((n, 1)) X[n - 1][0] = d[n-1][n]/d[n-1][n-1] for j in range(n-2,-1,-1): S=0 for i in range(j+1,n): S = S + d[j][i]*X[i][0] X[j][0] = (d[j][n]-S)/d[j][j] print(X)
Hasil coding di Python untuk penyelesaian soal diatas sebagai berkut :
BIla kita menggunakan kalkulator matriks untuk menghitung x dengan cara mencari invers dari matrik a terlebih dahulu maka hasilnya :
dan kita kalikan hasil invers a dengan matriks b maka hasilnya :