Ujian Tengah Semester |
Temukan akar persamaan dari persamaan non-linier f(x)=x^3−2x+2 menggunakan metode terbuka dengan x0=0 dan x0=1/2 ?
Temukan akar persamaan dari persamaan f(x)=sin(x)/x dengan rentang pencarian x=0,5 dan x=1 ?
Hitung integral fungsi f(x)=sin2(x) pada domain x∈[0,π] ?
Pada penyelesaian soal nomor 1 dan 2, menggunakan fungsi root_secant
. Berikut adalah sintaks yang digunakan pada fungsi root_secant
:
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)) }
- X=0
root_secant(function(x){x^3-2*x+2}, x=0)
## $`function` ## function(x){x^3-2*x+2} ## <bytecode: 0x0000000010c4d5e0> ## ## $root ## [1] -1.769292 ## ## $iter ## [1] 26
X = 1/2
root_secant(function(x){(x^3)−(2*x)+2}, x=1/2)
## $`function` ## function(x){(x^3)-(2*x)+ ## <bytecode: 0x000000000e9d5fe8> ## ## $root ## [1] -1.769292 ## ## $iter ## [1] 16
- X = 0.5
root_secant(function(x){sin(x)/x}, x=0.5)
## $`function` ## function(x){sin(x)/x} ## <bytecode: 0x000000000fc60348> ## ## $root ## [1] 6.283185 ## ## $iter ## [1] 7
X = 1
root_secant(function(x){sin(x)/x}, x=1)
## $`function` ## function(x){sin(x)/x} ## <bytecode: 0x0000000010ea9aa0> ## ## $root ## [1] 3.141593 ## ## $iter ## [1] 8
- Fungsi f(x)f(x)
trapezoid <- function(ftn, a, b, n = 100) { h <- (b-a)/n x.vec <- seq(a, b, by = h) f.vec <- sapply(x.vec, ftn) # ftn(x.vec) Trap <- h*(f.vec[1]/2 + sum(f.vec[2:n]) + f.vec[n+1]/2) return(Trap) }
f <- function(x){ sin(x)^2 }
Menghitung integral menggunakan trapezoid dengan permisalan n = 6
trapezoid(f,0,pi,n = 6)
## [1] 1.570796