Rangkuman Hari Ketujuh Kuliah Metnum ( 16 Oktober 2019 ) Pembahasan Kuis

From ccitonlinewiki
Jump to: navigation, search

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