library(mosaicCalc)
## Loading required package: mosaic
## Registered S3 method overwritten by 'mosaic':
## method from
## fortify.SpatialPolygonsDataFrame ggplot2
##
## The 'mosaic' package masks several functions from core packages in order to add
## additional features. The original behavior of these functions should not be affected by this.
##
## Attaching package: 'mosaic'
## The following objects are masked from 'package:dplyr':
##
## count, do, tally
## The following object is masked from 'package:Matrix':
##
## mean
## The following object is masked from 'package:ggplot2':
##
## stat
## The following objects are masked from 'package:stats':
##
## binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
## quantile, sd, t.test, var
## The following objects are masked from 'package:base':
##
## max, mean, min, prod, range, sample, sum
## Loading required package: mosaicCore
##
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
##
## count, tally
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
## (status 2 uses the sf package in place of rgdal)
##
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
##
## D
Iterasi numerik adalah metode yang digunakan dalam kalkulus numerik untuk menemukan solusi perkiraan persamaan nonlinier. Metode ini melibatkan penggunaan tebakan awal untuk suatu solusi, yang kemudian diperbaiki berulang kali hingga solusi yang cukup akurat ditemukan.
Contoh paling umum dari numerical iteration adalah Metode Newton-Raphson untuk mencari akar suatu fungsi matematika.
# 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 fungsi bernama newton_raphson, yang mengambil argumen x. Fungsi ini menggunakan metode Newton-Raphson, yaitu metode untuk mencari akar persamaan non-linier. Metode ini memerlukan 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 Newton Metode -Raphson adalah x_new = x - f(x) / f_prime(x), yang kita simpan di variabel x_new. Fungsi newton_raphson akan mengembalikan nilai x yang baru, yaitu x_new.
Langkah kedua, pada langkah ini kita menentukan nilai tebakan awal dan jumlah iterasi yang ingin kita lakukan. Nilai tebakan awal adalah nilai x yang kita asumsikan sebagai akar fungsi f. Banyaknya iterasi adalah berapa kali kita ingin mengulangi proses iterasi tersebut untuk mendapatkan nilai x yang lebih akurat. Kita tentukan nilai tebakan awal sebagai x0, yaitu 2, dan jumlah iterasi sebagai n, yaitu 5.
Langkah ketiga, pada langkah ini kita menjalankan fungsi Iterate dari perpustakaan mosaik, yang mengambil tiga argumen: rumus, dan nilai awal, dan sejumlah iterasi. Rumusnya adalah cara untuk menentukan fungsi yang ingin kita iterasi dan variabel yang ingin kita ubah. Kita menggunakan simbol ~ sebelum nama fungsi newton_raphson untuk menunjukkan bahwa itu adalah rumus. Nama variabel x juga kita tuliskan di dalam tanda kurung, karena variabel itulah yang akan diubah oleh fungsi newton_raphson. Nilai awal merupakan nilai tebakan awal yang sudah kita tentukan sebelumnya yaitu x0. Banyaknya iterasi adalah berapa kali kita ingin mengulangi proses iterasi tersebut, yaitu n. Fungsi Iterate akan mengembalikan vektor yang berisi nilai x setelah diiterasi oleh fungsi newton_raphson. Kami menyimpan hasilnya dalam variabel hasil.
Langkah keempat, pada langkah terakhir ini kita menampilkan hasil iterasi yang disimpan pada variabel.