1 a
exp_maclaurin <- function(x, n) {
hasil <- 0
for (i in 0:n) {
hasil <- hasil + (x^i) / factorial(i)
}
return(hasil)
}
# contih
exp_maclaurin(-1, 4)
## [1] 0.375
1 b
sin_maclaurin <- function(x) {
hasil <- 0
i <- 0
suku <- x
while (abs(suku) >= 1e-5) {
hasil <- hasil + suku
i <- i + 1
suku <- ((-1)^i) * x^(2*i + 1) / factorial(2*i + 1)
}
return(hasil)
}
# contoh
sin_maclaurin(pi/6)
## [1] 0.5000021
2
moving_average <- function(data) {
n <- length(data)
hasil <- rep(NA, n)
for (i in 3:n) {
hasil[i] <- (data[i] + data[i-1] + data[i-2]) / 3
}
return(hasil)
}
data <- c(4.1, 4.9, 6.2, 6.9, 6.8, 4.4, 5.7, 5.8, 6.9, 4.7, 6.0, 4.9)
moving_average(data)
## [1] NA NA 5.066667 6.000000 6.633333 6.033333 5.633333 5.300000
## [9] 6.133333 5.800000 5.866667 5.200000