Di artikel ini kita akan membahas apa itu Numerical Iteration. Numerical Iteration adalah sebuah konsep yang berkaitan dengan melakukan perhitungan berulang kali untuk mendekati atau mencari solusi dari masalah matematika atau persamaan yang sulit. Ini mirip dengan melakukan perulangan dalam pemrograman, di mana kita secara berulang menghitung nilai berdasarkan aturan tertentu sampai kita mendapatkan solusi yang mendekati yang kita cari.
Dalam numerical iteration, kita biasanya memulai dengan tebakan awal dan kemudian melakukan
perhitungan berulang kali berdasarkan suatu aturan matematis atau
algoritma. Setiap iterasi mendekatkan Kita lebih dekat ke solusi yang
diinginkan. Dalam Mosaic Calculus, notasi seperti Iterate
digunakan untuk menggambarkan proses iterasi ini.
Contoh paling umum dari numerical iteration adalah Metode Newton-Raphson untuk mencari akar suatu fungsi matematika. Dalam metode ini, kita memulai dengan tebakan awal dan kemudian menggunakan rumus untuk menghitung tebakan berikutnya. Dengan berulang kali mengulangi proses ini, kita mendekati akar atau solusi yang diinginkan.
# Fungsi untuk iterasi dengan metode Newton-Raphson
# Fungsi ini mencari akar dari persamaan x^3 - 2x - 5 = 0
# 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)
}
# LANGKAH KEDUA - Tebakan awal dan jumlah iterasi
x0 <- 2
n <- 5
# LANGKAH KETIGA - Contoh penggunaan iterasi numerik
result <- Iterate(~ newton_raphson(x), x0 = x0, n = n)
# LANGKAH KEEMPAT - Menampilkan hasil iterasi
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
Langkah Pertama,
pada langkah ini kita mendefinisikan sebuah fungsi bernama
newton_raphson, yang menerima sebuah argumen
x. Fungsi ini menggunakan metode
Newton-Raphson, yaitu sebuah metode untuk mencari akar dari
sebuah persamaan non-linear. Metode ini membutuhkan sebuah fungsi
f dan turunannya f_prime, yang kita
definisikan di dalam fungsi newton_raphson. Fungsi
f adalah fungsi yang ingin kita cari akarnya, yaitu
x^3 - 2x - 5 = 0. Turunan dari fungsi f adalah
f_prime, yaitu 3x^2 - 2. Rumus iterasi yang
digunakan oleh metode Newton-Raphson adalah
x_new = x - f(x) / f_prime(x), yang kita
simpan di dalam variabel x_new. Fungsi
newton_raphson akan mengembalikan nilai baru dari
x, yaitu x_new.
Langkah kedua,
pada langkah ini kita menentukan nilai tebakan awal dan jumlah iterasi
yang ingin kita lakukan. Tebakan awal adalah nilai x yang
kita asumsikan sebagai akar dari fungsi f. Jumlah iterasi
adalah berapa kali kita ingin mengulangi proses iterasi untuk
mendapatkan nilai x yang lebih akurat. Kita menentukan
tebakan awal sebagai x0, yaitu 2, dan jumlah
iterasi sebagai n, yaitu 5
Langkah ketiga,
pada langkah ini kita menjalankan fungsi Iterate dari
pustaka mosaic, yang menerima tiga argumen: sebuah formula,
sebuah nilai awal, dan sebuah jumlah iterasi. Formula adalah cara untuk
menentukan fungsi yang ingin kita iterasikan dan variabel yang ingin
kita ubah. Kita menggunakan tanda ~ sebelum nama fungsi
newton_raphson untuk menunjukkan bahwa itu adalah sebuah
formula. Kita juga menuliskan nama variabel x di dalam
kurung, karena itu adalah variabel yang akan diubah oleh fungsi
newton_raphson. Nilai awal adalah nilai tebakan awal yang
kita tentukan sebelumnya, yaitu x0. Jumlah iterasi adalah
berapa kali kita ingin mengulangi proses iterasi, yaitu n.
Fungsi Iterate akan mengembalikan sebuah vektor yang berisi
nilai-nilai x setelah diiterasi oleh fungsi
newton_raphson. Kita menyimpan hasilnya di dalam variabel
result.
Langkah keempat,
pada langkah terakhir ini, kita menampilkan hasil iterasi yang tersimpan
di dalam variabel result. Kita menggunakan fungsi
print untuk mencetak isi dari variabel tersebut ke layar.
Kita bisa melihat bahwa nilai-nilai x semakin mendekati
akar sejati dari persamaan, yaitu sekitar 2.0946.