[R] R을 활용한 테일러 전개

반응형

 

이번 포스팅은 제가 학교에서 진행했던 수업자료의 일부로 R을 활용하여 테일러 전개를 하는 방법에 대해 간략하게 소개해드리겠습니다.

1. Talyor expansion

\[f(x) = \sum^\infty_{n=0} \frac{f^{(n)}(x_{0})}{n!}(x-x_{0})^{n} = f(x_{0})+f^{`}(x_{0})(x-x_{0}) + \frac{1}{2}f^{``}(x_{0})(x-x_{0})^{2} + \frac{1}{3!}f^{```}(x_{0})(x-x_{0})^{3}+...\]

  • 미적분학에서, 테일러 급수는 도함수들의 한 점에서의 값으로 계산된 항의 무한합으로 해석함수를 나타내는 방법이다.
  • R에서는 pracma 패키지 안에 내장되어 있는 talyor() 함수를 이용하여 테일러 전개 근사치를 구할 수 있다.
  • library(pracma)

 

2. taylor() function

2. 1. \(\log(x+1)\)

\(f(x) = \log(1+x)\)

f <- function(x) {log(1 + x)}
  • \(x_{0} = 0\) 중심에서 테일러 전개를 수행한다고 하자.
  • 1차 테일러 전개
    taylor(f, x0 = 0, n = 1)
    ## [1] 1 0
  • \[f(x) = f(0) + f^{`}(x-0) = \log(1+0) + \frac{1}{1+0}(x-0) \approx x\]
  • 2차 테일러 전개
    taylor(f, x0 = 0, n = 2)
    ## [1] -0.5  1.0  0.0
  • \[f(x) = f(0) + f^{`}(x-0) + \frac{1}{2} f^{``}(x-0)^{2} = \log(1+0) + \frac{1}{1+0}(x-0) - \frac{1}{2}\frac{1}{(1+0)^{2}}(x-0)^2 \approx x - \frac{1}{2}x^2\]
  • 3차 테일러 전개
    taylor(f, x0 = 0, n = 3)
    ## [1]  0.3333339 -0.5000000  1.0000000  0.0000000
  • \[f(x) = f(0) + f^{`}(x-0) + \frac{1}{2} f^{``}(x-0)^{2} + \frac{1}{6} f^{```}(x-0)^{3} = \log(1+0) + \frac{1}{1+0}(x-0) - \frac{1}{2}\frac{1}{(1+0)^{2}}(x-0)^2 + \frac{1}{6}2\frac{1}{(1+0)^{3}}(x-0)^{3} \approx x - \frac{1}{2}x^2 + \frac{1}{3}x^{3}\]
  • 4차 테일러 전개
    ## [1] -0.2500044  0.3333339 -0.5000000  1.0000000  0.0000000
    -0.2500044*1^4 + 0.3333339*1^3 - 0.5000000*1^2 + 1.0000000^1
    ## [1] 0.5833295
    f(1)
    ## [1] 0.6931472
  • taylor(f, x0 = 0, n = 4)

2. 1. \(e^{x}\)

\(f(x) = e^{x}\)

f <- function(x) {exp(x)}
  • \(x_{0} = 0\) 중심에서 테일러 전개를 수행한다고 하자.
  • 1차 테일러 전개
    taylor(f, x0 = 0, n = 1)
    ## [1] 1 1
  • \[f(x) = f(0) + f^{`}(x-0) = e^{0} + e^{0}(x-0) \approx 1 + x\]
  • 2차 테일러 전개
  • \[f(x) = f(0) + f^{`}(x-0) + \frac{1}{2} f^{``}(x-0)^{2} = e^0 + e^0(x-0) - \frac{1}{2}e^0(x-0)^2 \approx 1 + x + \frac{1}{2}x^2\]
taylor(f, x0 = 0, n = 2)
## [1] 0.5 1.0 1.0
  • 3차 테일러 전개
    taylor(f, x0 = 0, n = 3)
    ## [1] 0.1666667 0.5000000 1.0000000 1.0000000
  • \[f(x) = f(0) + f^{`}(x-0) + \frac{1}{2} f^{``}(x-0)^{2} + \frac{1}{6} f^{```}(x-0)^{3} = e^0 + e^0(x-0) + \frac{1}{2}e^0(x-0)^2 + \frac{1}{6}e^0(x-0)^{3} \approx 1 + x + \frac{1}{2}x^2 + \frac{1}{6}x^3\]
  • 4차 테일러 전개
    ## [1] 0.04166657 0.16666673 0.50000000 1.00000000 1.00000000
    0.04166657*1^4 + 0.16666673*1^3 + 0.50000000*1^2 + 1.00000000*1 + 1.00000000
    ## [1] 2.708333
    f(1)
    ## [1] 2.718282
  • taylor(f, x0 = 0, n = 4)

반응형

'ETC' 카테고리의 다른 글

[R] 기계학습 과제...  (0) 2017.10.09
[R] R을 활용한 미분과 적분 계산  (0) 2017.07.04
TAGS.

Comments