Tugas2 Wardah FKomputasi PDF
Tugas2 Wardah FKomputasi PDF
NEWTON-RAPHSON 2 DIMENSI
A. Pendahuluan
Salah satu metode yang dapat digunakan untuk pencarian akar-akar dari persamaan adalah metode
Newton-Raphson. Dalam Fisika, metode pencarian akar dapat digunakan untuk menentukan nilai yang
paling optimum (minimum ataupun maksimum) dari solusi fisis yang menggambarkan suatu sistem.
Untuk kasus 1 dimensi (persamaan dengan 1 variabel), kaitan rekursi pada metode Newton-Raphson
dapat dituliskan sebagai:
f (xi )
xi+1 = xi − 0 (3)
f (xi )
dengan f 0 (x) adalah turunan dari f (x) terhadap x, dan f (x) adalah fungsi yang akan dicari akarnya.
Persamaan (3) dapat lebih diperumum lagi untuk kasus n-dimensi. Dengan memuat matriks Jacobi
[J] yang mewakili turunan f 0 (x) dalam kasus 1-dimensi, maka untuk kasus 2-dimensi persamaan (3)
dapat ditulis kembali sebagai:
xi+1 xi −1 f (xi , yi )
= − J(xi , yi ) (4)
yi+1 yi g(xi , yi )
∂ ∂
f (xi , yi ) f (xi , yi )
∂x ∂y
J(xi , yi ) = (5)
∂ ∂
g(xi , yi ) g(xi , yi )
∂x ∂y
B. Algoritma Penyelesaian
Dengan menggunakan persamaan (4), maka akar-akar persamaan (1) dan (2) dapat dicari dengan meng-
gunakan algoritma sebagai berikut:
1 Memasukkan nilai tebakan awal (x0 dan y0 ).
2 Membuat matriks fungsi ([f (x0 , y0 ), g(x0 , y0 )]).
Page 1 of 4
Tugas Fisika Komputasi Wardah Amalia (17/418546/PPA/05330)
#deklarasi x0
x0=np.array([−5.0, 1.0])
#Matriks Fungsi
def function(x):
return np.array([x[0]**3.−x[0]*exp(x[1])−2.0,
(x[0]**2.)*x[1]−(x[0])*cos(x[1]*pi/180)−3.*x[1]])
#Matriks Jacobian
def Jacobian(x):
return np.array([[3.*x[0]**2.−exp(x[1]), −(x[0])*exp(x[1])],
[2.*x[0]*x[1]−cos(x[1]*pi/180), x[0]**2.+x[0]*sin(x[1]*pi/180)−3.0]])
it=0
#Fungsi Newton−Raphson
def WardahNR(x0, f, Jac, tol=1.E−5, max it=100):
for it in range (max it):
MatrixFunction=f(x0)
J=Jacobian(x0)
xnew=x0−np.linalg.solve(J,MatrixFunction)
print ("Iteration{0}: [x, y]= {1}".format(it, xnew))
f (x, y) = x − 2y − 3 (6)
g(x, y) = 2x + 2y − 6 (7)
Dengan memasukkan fungsi tersebut dalam algoritma yang telah dibuat, didapatkan output seperti
pada gambar (1). Jika diselesaikan secara analitik, maka dengan mudah akan didapatkan akar-akar
persamaan (x, y) dari fungsi (6) dan (7) adalah (3, 0). Dapat dilihat bahwa nilai ouput yang dihasilkan
menggunakan algoritma yang telah dibuat sesuai dengan hasil analitiknya.
Selanjutnya algoritma digunakan untuk menyelesaikan persoalan yang diberikan. Dengan menggu-
nakan nilai tebakan awal (-1, 1), (-5,1), (-7, 7) dihasilkan output seperti pada gambar (2), (3), dan (4)
berturut-turut.
Dapat dilihat bahwa nilai tebakan awal mempengaruhi kecepatan konvergensi dari iterasi yang dila-
kukan. Semakin dekat nilai tebakan awal dengan nilai (x, y) sebenarnya, maka akan semakin cepat nilai
output-nya menuju konvergen.
Page 2 of 4
Tugas Fisika Komputasi Wardah Amalia (17/418546/PPA/05330)
Gambar 2: Hasil capture untuk f (x, y) = x3 − xey − 2 dan g(x, y) = x2 y − xcos(y) − 3y; tebakan awal
(−1, 1); dan toleransi= 1.e − 5
Page 3 of 4
Tugas Fisika Komputasi Wardah Amalia (17/418546/PPA/05330)
Gambar 3: Hasil capture untuk f (x, y) = x3 − xey − 2 dan g(x, y) = x2 y − xcos(y) − 3y; tebakan awal
(−5, 1); dan toleransi= 1.e − 5
Gambar 4: Hasil capture untuk f (x, y) = x3 − xey − 2 dan g(x, y) = x2 y − xcos(y) − 3y; tebakan awal
(−7, 7); dan toleransi= 1.e − 5
Page 4 of 4