Paket
base
pada R
menyediakan fungsi uniroot()
untuk mencari akar persamaan suatu fungsi pada rentang spesifik. Fungsi ini menggunakan metode Brent yaitu kombinasi antara root bracketing, biseksi, dan interpolasi invers kuadrat. Format fungsi tersebut secara sederhana adalah sebagai berikut:
Catatan:
- f: persamaan non-linier
- interval: vektor interval batas bawah dan atas
- tol: nilai toleransi
- maxiter: iterasi maksimum
Berikut adalah contoh penerapan fungsi uniroot()
:
## $root
## [1] -0.5671
##
## $f.root
## [1] 1.533e-08
##
## $iter
## [1] 7
##
## $init.it
## [1] NA
##
## $estim.prec
## [1] 5e-08
Berdasarkan hasil iterasi diperoleh akar persamaan tersebut adalah
dengan jumlah iterasi sebanyak iterasi dan tingkat presisi sebesar.
Fungsi lain yang dapat digunakan untuk mencari akar persamaan adalah uniroot.all()
dari paket rootSolve
. Fungsi ini mengatasi kelemahan dari uniroot()
, dimana uniroot()
tidak bekerja jika fungsi hanya menyentuh dan tidak melewati sumbu nol
. Untuk memahaminya perhatikan contoh berikut:
Bandingkan dengan sintaks berikut:
## $root
## [1] -1.571
##
## $f.root
## [1] 0
##
## $iter
## [1] 0
##
## $init.it
## [1] NA
##
## $estim.prec
## [1] 0
Untuk menggunakan fungsi uniroot.all()
, jalankan sintaks berikut:
Jalankan kembali fungsi dan rentang di mana uniroot()
tidak dapat bekerja:
## [1] -1.571
Tidak ada komentar:
Posting Komentar