正弦、余弦和正切

基本类型 / 数字 / 数学运算

# Angles are in radians
sin90 <- sin(pi / 2)
# sin90 = 1

cos180 <- cos(pi)
# cos180 = -1

tan45 <- tan(pi / 4)
# tan45 = 1

# Degrees to radians
sin30 <- sin(30 * pi / 180)
# sin30 = 0.5

# Float result is not exact
exact <- tan45 == 1
# exact = FALSE
# cat() rounds; 17 digits show the error
tan45_digits <- format(tan45, digits = 17)
# tan45_digits = 0.99999999999999989

# sin(pi) is not 0, but sinpi(1) is
sin_pi <- sin(pi)
# sin_pi = 1.224647e-16
sin_pi_exact <- sinpi(1)
# sin_pi_exact = 0

cat("sin90 =", sin90, "\n")
cat("cos180 =", cos180, "\n")
cat("tan45 =", tan45, "\n")
cat("sin30 =", sin30, "\n")
cat("exact =", exact, "\n")
cat("tan45_digits =", tan45_digits, "\n")
cat("sin_pi =", sin_pi, "\n")
cat("sin_pi_exact =", sin_pi_exact, "\n")