Metode Secant |
Metode Secant merupakan perbaikan dari metode regula-falsi dan Newton Raphson, dimana kemiringan dua titik dinyatakan secara diskrit dengan mengambil bentuk garis lurus yang melalui satu titik. Persamaan yang dihasilkan disajikan pada Persamaan (7.8).
Nilai m merupakan transformasi persamaan tersebut.
Bila y = f (x) dan yn dan xn diketahui, maka titik ke n + 1 adalah:
Bila titik xn+1 dianggap akar persamaan maka nilai yn+1 = 0, sehingga diperoleh:
atau
Berdasarkan Persamaan (7.14) diketahui bahwa untuk memperoleh akar persamaan diperlukan 2 buah titik pendekatan. ini akan digunakan titik pendekatan kedua merupakan titik pendekatan pertama ditambah sepuluh kali nilai toleransi.
Definisikan f (x) dan f ′ (x)
Tentukan nilai toleransi e dan iterasi masimum (N)
Tentukan tebakan awal x0 dan x1
Hitung f (x0) dan f (x1)
Untuk literasi i = 1 s/d N atau |f (x)| ≥ e, hitung x menggunakan Persamaan (7.14)
Akar persamaan adalah nilai x yang terakhir.
Fungsi
root_secant()
merupakan fungsi yang penulis buat untuk melakukan literasi menggunakan metode Secant. Berikut merupakan sintaks dari fungsi tersebut:root_secant <- function(f, x, tol=1e-7, N=100){ iter <- 0 xold <- x fxold <- f(x) x <- xold+10*tol while(abs(x-xold)>tol){iter <- iter+1 if(iter>N) stop("No solutions found") fx <- f(x) xnew <- x - fx*((x-xold)/(fx-fxold)) xold <- x fxold <- fx x <- xnew } root<-xnew return(list(`function`=f, root=root, iter=iter)) }
kita dapat mempercepat menggunakan fungsiroot_secant()
pada R. Berikut sintaks yang digunakan:
root_secant(function(x){x-exp(-x)}, x=0)
## $`function` ## function(x){x-exp(-x)} ## <bytecode: 0x0000000010bb07b0> ## ## $root ## [1] 0.5671433 ## ## $iter ## [1] 6
Lembar Kerja Mahasiswa |
- Cari hasil perkalian dari tiga persamaan berikut ( x + 2 )^2( x - 1 )^4( x + 5 )
f <- function(x){ (x+2)^2*(x-1)^4*(x+5) } root_secant(f,0)
## $`function` ## function(x){ ## (x+2)^2*(x-1)^4*(x+5) ## } ## <bytecode: 0x000000000f69be80> ## ## $root ## [1] 0.9999996 ## ## $iter ## [1] 72
- Cari faktor dari persamaan 6x^4 + 11x^3 - 56x^2 - x + 60
f <- function(x){ 6*(x^4)+11*(x^3)-56*(x^2)+60 } root_secant(f,0)
## $`function` ## function(x){ ## 6*(x^4)+11*(x^3)-56*(x^2)+60 ## } ## <bytecode: 0x000000000f3bd480> ## ## $root ## [1] 1.000008e-06 ## ## $iter ## [1] 3
- Cari penyelesaian persamaan x^4 - 5x^3 + 3x^2 + x = 0
f <- function(x){ x^4-5*(x^3)+3*(x^2)+x } root_secant(f,0)
## $`function` ## function(x){ ## x^4-5*(x^3)+3*(x^2)+x ## } ## <bytecode: 0x0000000010b7fa40> ## ## $root ## [1] 0 ## ## $iter ## [1] 2
- Cari penyelesaian dari pertidaksamaan 7x – 1 < 2x + 3
f <- function(x){ 7*x+2*x-1-3 } root_secant(f,0)
## $`function` ## function(x){ ## 7*x+2*x-1-3 ## } ## <bytecode: 0x0000000011a86988> ## ## $root ## [1] 0.4444444 ## ## $iter ## [1] 2
Daftar Pustaka |
https://bookdown.org/moh_rosidi2610/Metode_Numerik/diffinteg.html#finitediff
Suhartono. 2015. Memahami Kalkulus Dasar Menggunakan Wolfram Mathematica 9. Malang : UIN Maliki Malang.