Nomor 1 fungsi
f_normal <- function(x){
(1 / sqrt(2 * pi)) * exp(-x^2 / 2)
}
Simsons
simpson13_gen <- function(a, b, n, f) {
h<-(b-a)/n
x<-a
hasil<-f(a)+f(b)
for (i in 1:(n-1)) {
x<-x+h
if (i%%2==1) {
hasil <-hasil+4*f(x)
} else {
hasil <- hasil+2*f(x)
}
}
hasil <- hasil*h/3
return(hasil)
}
OUTPUT
simpson<-simpson13_gen(0, 1, 4, f_normal)
eksak<-pnorm(1) - pnorm(0)
simpson
## [1] 0.3413555
eksak
## [1] 0.3413447
abs(simpson-eksak)
## [1] 1.074179e-05
NOMOR 2 Fungsi
f_exp <- function(x) exp(-x)
trapeziodal <- function(a, b, n, f) {
h<-(b-a)/n
x<-a
Luas<-f(a)+f(b)
for (i in 1:(n-1)) {
x<-x+h
Luas<-Luas +2 * f(x)
}
Luas<-Luas*h / 2
return(Luas)
}
simpson13_gen <- function(a,b,n,f) {
h <-(b-a)/n
x <-a
hasil<-f(a)+f(b)
for (i in 1:(n-1)) {
x<-x+h
if (i %% 2 == 1) {
hasil <-hasil+4*f(x)
} else {
hasil <-hasil+2*f(x)
}
}
hasil<-hasil*h/3
return(hasil)
}
OUTPUT
trap <-trapeziodal(0, 2, 10, f_exp)
simp <-simpson13_gen(0, 2, 10, f_exp)
eksak <-1-exp(-2)
trap
## [1] 0.867545
simp
## [1] 0.8646724
eksak
## [1] 0.8646647
abs(trap-eksak)
## [1] 0.002880296
abs(simp-eksak)
## [1] 7.649462e-06