Part 1: Sine
#?sin() - this tells us the function works in radians. So we should also work in radians
radian <- function(x){
return(x * pi / 180)
}
sine_function <- function(x){
result <- x
next_term <- x
i <- 3
sign <- -1
term_number <- 2
while(abs(next_term) > .000000001){
next_term <- next_term * (-(x^2)) / (i * (i - 1))
result <- result + next_term
i <- i + 2
sign <- -sign
}
return(result)
}
sine_function(radian(30)) #perform the radian input
## [1] 0.5
sin(radian(30)) #we get the same answer
## [1] 0.5
#Cosine function
cosine_function <- function(x){
result <- 1
next_term <- 1
i <- 2
sign <- -1
while(abs(next_term) > .0000001){
next_term <- sign * next_term * (x^2) / (i * (i - 1))
result <- result + next_term
sign <- -sign
}
return(result)
}
cos(radian(4))
## [1] 0.9975641
cosine_function(radian(4))
## [1] 0.9975571