HOWTO · R
R에서 오일러 수 e 구하기
이 튜토리얼은 R에서 오일러 수의 값을 계산하는 방법을 보여줍니다.
이 페이지의 내용
오일러 수는 e로 표기하며, 값은 약 2.71828입니다. R에서는 exp(1)로 바로 계산할 수 있습니다. exp()는 입력한 값만큼 e를 거듭제곱하므로 입력값이 1이면 e가 반환됩니다. 화면에 표시되는 자릿수는 결과를 반올림한 값입니다.
exp(1)로 e 직접 계산하기
계산에 오일러 수가 필요할 때는 exp(1)을 사용하세요. 다음의 짧은 R 예제에서는 같은 함수에 여러 입력값을 적용하는 방법도 볼 수 있습니다.
e_value <- exp(1)
inputs <- c(0, 1, 2)
values <- exp(inputs)
print(e_value)
print(values)
스칼라 입력의 결과는 e입니다. 숫자 벡터에 exp()를 적용하면 각 원소에 따로 계산이 수행됩니다. 결과는 각각 e의 0제곱, 1제곱, 2제곱에 해당합니다. e 자체가 필요하면 exp(1)을 사용하세요. 다른 값을 입력하면 그 값만큼 거듭제곱한 결과가 계산됩니다.
숫자와 벡터에 exp() 적용하기
exp(x)는 x의 각 값에 대해 eˣ을 계산합니다. 예를 들어 exp(2)는 e의 제곱이고, exp(c(0, 1, 2))는 입력과 길이가 같은 벡터를 반환합니다. 이처럼 벡터화된 동작을 이용하면 반복문을 작성하지 않고도 숫자 데이터를 변환할 수 있습니다.
테일러 급수로 e 근사하기
1에서의 테일러 급수는 e = 1 + 1/1! + 1/2! + 1/3! + ⋯입니다. 유한한 개수의 항을 더하면 e를 근사할 수 있지만, 무한급수와 정확히 같지는 않습니다. 이 예제의 반복문은 0부터 20까지의 항을 더하며, 여기에는 1/0! = 1도 포함됩니다.
terms <- 0:20
approximation <- sum(1 / factorial(terms))
print(approximation)
일반적으로 항을 더 많이 포함할수록 근사값이 개선됩니다. 다만 값만 필요하다면 exp(1)을 사용하는 편이 더 간단합니다.
극한 정의로 e 근사하기
또 다른 정의는 e = limₙ→∞ (1 + 1/n)ⁿ입니다. 유한한 n을 사용하면 이 식은 근사값을 냅니다. n을 늘리면 수학적 표현은 e에 가까워지지만, 부동소수점 연산 때문에 n을 무작정 크게 한다고 결과의 정확도가 더 높아지는 것은 아닙니다.
n <- 10000
approximation <- (1 + 1 / n)^n
print(approximation)
이 예제는 유한한 n 하나에 대해 식을 계산합니다. 극한을 정확히 계산하는 것이 아니라 그 개념을 보여 줍니다.
eˣ − 1이 필요할 때 expm1() 사용하기
원하는 결과가 eˣ − 1이면 expm1(x)를 사용하세요. 스칼라나 숫자 벡터에 이 연산을 바로 적용할 수 있어, 계산에서 그 차이값 자체가 필요할 때 유용합니다. 예를 들어 expm1(1)은 e − 1을 계산하고, expm1(c(0, 1, 2))는 각 입력에 같은 연산을 적용합니다.
x <- c(0, 1, 2)
result <- expm1(x)
print(result)
상황에 맞는 방법 선택하기
일반적인 R 계산에서는 오일러 수를 구할 때 exp(1)을, eˣ을 계산할 때 exp(x)를 사용하세요. 테일러 급수나 극한식은 수학적 정의를 설명할 때 활용할 수 있으며, 여기의 예제에서는 둘 다 유한한 근사값을 냅니다. 목표가 eˣ − 1이라면 expm1(x)를 선택하세요.
오일러 수는 자연로그의 밑이며 연속적인 성장과 감쇠를 나타내는 모델에 등장합니다. R에는 e를 위한 별도의 내장 상수가 없으며, exp(1)은 함수 호출입니다. 이 예제의 R 코드는 실행 가능한 형태이며 성공적으로 실행되었습니다. 출력은 여기에 표시하지 않았습니다.