Rangkuman Hari Ketujuh Kuliah Metnum ( 16 Oktober 2019 ) Pembahasan Kuis
Dibawah ini adalah program untuk menyelesaikan problem set 2.1 no.6
#eliminasi gauss jordan problem set 2.1 no.6 #mengimport numpy ke dalam program import numpy as np #mendefinisakan baris matriks yang berisi varibel dari persamaan yang ada line1 = [1,2,0,-2,1] line2 = [0,1,0,2,-1] line3 = [0,0,2,1,2] line4 = [0,0,0,-1,1] line5 = [0,1,-1,1,-1] #mendefinisikan baris variabel menjadi suatu matriks menggunakan perintah array variabel = np.array ([line1,line2,line3,line4,line5]) #mendefinisikan hasil persamaan menjadi suatu matriks menggunakan perintah array hasil = np.array ([-4,1,1,-2,-1]) #melakukan eliminasi gauss-jordan terhadap kedua matriks diatas menggunakan perintah linalg run = np.linalg.solve (variabel,hasil) #mendefinisikan masing-masing nilai dari variabel setelah dilakukan eliminasi gauss-jordan x1 = int(run[0]) x2 = int(run[1]) x3 = int(run[2]) x4 = int(run[3]) x5 = int(run[4]) #menampilkan nilai masing-masing vaiabel menggunakan perintah print print ("hasil X berdasarkan eliminasi Gauss-Jordan adalah sebagai berikut:") print ("x1= ",x1) print ("x2= ",x2) print ("x3= ",x3) print ("x4= ",x4) print ("x5= ",x5)
Hasil run program diatas adalah sebagai berikut:
hasil X berdasarkan eliminasi Gauss-Jordan adalah sebagai berikut: x1= 3 x2= -2 x3= 1 x4= 1 x5= -1 Process finished with exit code 0
Dibawah ini merupakan program untuk menyelesaikan problem set 7.1 no.2
#persamaan diferensial runge-kutta problem set 7.1 no.2 #mendefinisikan persamaan diferensial def dydx(x, y): return ((x ** 2 - 4 * y)) # melakukan penyelesaian dengan metode runge-kutta menggunakan nilai h dan y0 saat x0 def rungeKutta(x0, y0, x, h): #mendefinisikan jarak penyelesaian yang diinginkan dengan menggunakan persamaan berikut n = (int)((x - x0) / h) # mendefinisikan y awal y = y0 #mendefinisikan nilai k dari setiap orde pada metode runge-kutta for i in range(1, n + 1): k1 = h * dydx(x0, y) k2 = h * dydx(x0 + 0.5 * h, y + 0.5 * k1) k3 = h * dydx(x0 + 0.5 * h, y + 0.5 * k2) k4 = h * dydx(x0 + h, y + k3) # mengupdate nilai dari y setelah diturunkan y = y + (1.0 / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4) # mengupdate nilai dari x berdasarkan hasil diatas x0 = x0 + h # memberikan perintah pengulangan pada y return y # memberikan pemisalan terhadap variabel-variabel yang ada x0 = 0 y = 1 x = 0.03 h = 0.01 #menampilkan nilai dari y saat x print('Nilai dari y saat x adalah:', rungeKutta(x0, y, x, h))
Hasil run program diatas adalah sebagai berikut:
Nilai dari y saat x adalah: 0.8869291754400297