Dalam artikel ini, kita akan membahas konsep Numerical Iteration. Ini berkaitan dengan melakukan perhitungan berulang kali dalam upaya menyelesaikan masalah atau persamaan matematika yang sulit. Dalam pemrograman, melakukan perulangan berarti menghitung nilai berdasarkan aturan tertentu sampai kita menemukan solusi yang tepat.
Kita biasanya memulai dengan tebakan awal dan kemudian melakukan
perhitungan berulang kali berdasarkan aturan matematis atau algoritma
dalam numerical iteration. Setiap upaya membawa kita lebih dekat ke
solusi yang diharapkan. Proses iterasi dalam Mosaic Calculus digambarkan
dengan notasi seperti Iterate.
Metode Newton-Raphson untuk mencari akar suatu fungsi matematika adalah contoh paling umum dari iterasi numerik. Metode ini memulai dengan tebakan awal dan kemudian menggunakan rumus untuk menghitung tebakan berikutnya; dengan berulang kali mengulangi proses ini, kita mencapai akar atau solusi yang diinginkan.
Langkah Pertama: Kita mendefinisikan fungsi
Newton-Raphson yang menerima argumen X. Fungsi ini
menggunakan metode Newton-Raphson, yang merupakan teknik untuk menemukan
akar dari sebuah persamaan non-linear. Metode ini membutuhkan fungsi
f dan turunannya, f_prime, yang didefinisikan
dalam fungsi newton_raphson. Fungsi f adalah fungsi yang
ingin kita cari akarnya, yaitu x_3 - 2x - 5 = 0, dan
turunannya adalah f_prime, yang kita simpan di variabel
x_new. Fungsi newton_raphson akan mengembalikan nilai baru
dari x, yaitu x_new.
# LANGKAH PERTAMA:
newton_raphson <- function(x) {
# Fungsi dan turunannya
f <- function(x) x^3 - 2*x - 5
f_prime <- function(x) 3*x^2 - 2
# Rumus iterasi
x_new <- x - f(x) / f_prime(x)
# Mengembalikan nilai baru dari x
return(x_new)
}
Pada langkah kedua, kita menentukan nilai tebakan
awal dan jumlah iterasi yang ingin kita lakukan. Nilai x
yang kita asumsikan sebagai akar fungsi f adalah tebakan
awal, dan jumlah iterasi adalah berapa kali kita ingin mengulangi proses
iterasi untuk mendapatkan nilai x yang lebih akurat. Kita
menentukan tebakan awal x0, yang adalah 2, dan
jumlah iterasi n, yang adalah 5.
# LANGKAH KEDUA - Tebakan awal dan jumlah iterasi
x0 <- 2
n <- 5
Pada langkah ketiga, kita menggunakan fungsi
Iterate pustaka mosaic. Fungsi ini menerima
tiga argumen: sebuah formula, nilai awal, dan jumlah iterasi. Untuk
menentukan fungsi dan variabel yang ingin kita iterasikan, Anda dapat
menggunakan formula. Untuk menunjukkan bahwa nama fungsi
newton_raphson adalah sebuah formula, kita menambahkan
tanda “~”. Karena variabel ini akan diubah oleh fungsi
newton_raphson, kita juga menuliskan nama variabel x di
dalam kurung. Nilai awal adalah nilai tebakan awal sebelumnya, yaitu
x0. Jumlah iterasi adalah jumlah kali kita ingin mengulangi
proses iterasi, yaitu n. Setelah fungsi
newton_raphson diiterasi, fungsi iterasi akan mengembalikan
sebuah vektor yang berisi nilai-nilai x. Kami memasukkan
hasilnya ke dalam variabel result.
result <- Iterate(~ newton_raphson(x), x0 = x0, n = n)
Pada langkah terakhir, kita menampilkan hasil
iterasi yang tersimpan di dalam variabel result. Untuk
melakukan ini, kita menggunakan fungsi print untuk mencetak
isi variabel ke layar. Nilai-nilai x semakin mendekati akar
persamaan sebenarnya, yaitu sekitar 2.0946.
print(result)
## n x
## 1 0 2.000000
## 2 1 2.100000
## 3 2 2.094568
## 4 3 2.094551
## 5 4 2.094551
## 6 5 2.094551