C/C++ 전산수학 - 테일러 급수로 알아보는 삼각함수
여기서는 테일러 급수 전개를 통해 삼각함수들의 값을 구하는 방법에 대해서 알아보고, C언어 및 C++ 프로그램을 통해서 이를 구현해보도록 하겠습니다. 특정 지점에서의 함수의 미분값들을 알면, 무한한 차수의 다항식을 통해 함수의 형태를 파악할 수 있다는 것이 테일러 급수 전개의 요점입니다. 주어진 함수의 미분들을 통해 테일러 급수 전개를 방법에 대한 기본적인 내용들은 다음 포스팅에 더 자세하게 소개되어 있습니다. 수학 상식 : 테일러 급수 전개 사인 (sine) 함수의 미분은 코사인 (cosine) 함수에 따라 그 형태가 결정되고, 코사인 함수의 미분은 사인 함수와 연결됩니다. 이 점을 이용해서 삼각함수를 반복적으로 미분하면 어떻게 되는지를 쉽게 파악할 수 있겠죠. 먼저 사인 함수의 테일러 급수 전개에 대해서 알아봅시다. \[ \begin{array}{rl} \sin{x} = & \displaystyle \sum_{k = 0}^{\infty} \frac{1}{k!} \left( \left. \frac{d^k}{dx^k} \sin{x} \right|_{x = n\pi} \right) (x - n\pi)^k \\ = & \displaystyle (-1)^n \sum_{k = 0}^{\infty} \frac{1}{k!} \mathcal{A}_{\textrm{sin},k} (x - n\pi)^k \\ \mathcal{A}_{\textrm{sin},k} = & \displaystyle \left\{ \begin{array}{ll} 1 & \textrm{if} \quad k \mod 4 = 1 \\ -1 & \textrm{if} \quad k \mod 4 = 3 \\ 0 & \textrm{otherwise} \end{array} \right. \end{array} \] 사인 함수와 코사인 함수의 테일러 급수 전개는 무한대의 수렴반경을 가지고 있기 때문에 기준점을 어디에 잡아도 테일러 급수는 수렴하게 됩니다. 다만 더 빠른 계산을