대학에서 미적분학을 배우다 보면 테일러 급수 (혹은 매클로린 급수) 를 배우게 된다.
관련 숙제도 풀게 될 것이고..
그러다보면, 자신이 전개한 식이 맞는지 궁금한 경우가 많을 것이다.
이 글에선, 자기가 한 테일러 (매클로린) 전개가 맞는 지를 쉽게 확인하는 방법으로써 gnuplot을 이용하는 방법에 대해 설명하겠다.
예시로 이용할 문제는:
이다.
gnuplot은 리눅스 상에서 그래프를 그릴 때 많이 쓰이는 공짜 프로그램이다.
이걸로 테일러 전개의 답을 어떻게 확인하냐면..
그려서 확인할 것이다.
일단, 위 문제를 풀어보면: f′(x)=x(3+x2)−12 f′′(x)=−x2(3+x2)−32+(3+x2)−12 f′′′(x)=3x3(3+x2)−52−3x(3+x2)−32 그러므로, x=−1 에서의 테일러 전개는: √3+x2=2−(x+1)2⋅1!+3(x+1)223⋅2!+9(x+1)325⋅3!+⋯
위의 풀이를 그리는 법은 간단하다.
일단 gnuplot에 넘길 입력 파일(plot.gp
)을 만든다:
set terminal png
set output "output.png"
plot sqrt(3 + x**2)
위와 같이 plot
뒤에 그리고 싶은 식을 써 넣으면 된다. (그 위의 두 줄은 결과 그래프를
output.png
파일로 만들기 위한 코드이다.) 이 때의 리눅스 명령은:
gnuplot plot.gp
이고, 그 결과 (output.png
) 는:
이제, 풀이 쪽을 그려보자.
입력 파일 (plot.gp
) 은:
set terminal png
set output "output.png"
plot sqrt(3 + x**2), 2 - (x + 1) / 2 + 3 * (x + 1)**2 / 16 + 9 * (x + 1)**3 / 192
명령은 위와 마찬가지로: gnuplot plot.gp
이번 입력 파일에서는, 그래프를 두 개 그렸다. (
plot
뒤의 두 식을 ,
(쉼표) 로 구분지음에 주의: 첫 번째 식은 원래 문제에서 주어진 식이고, 두 번째 식은 앞에서 구한 테일러 전개식 (네 번째 항까지) 이다.) 그럼, 결과 (
output.png
) 는: 위 그래프의 x축, y축 범위를 처음 그래프와 비슷하게 해 보자. 위의 입력 파일 (
plot.gp
) 에서, 다음과 같이 plot
명령에 범위 옵션 ([-10:10][1:11]
) 을 주면 된다: plot [-10:10][1:11] sqrt(3 + x**2), 2 - (x + 1) / 2 + 3 * (x + 1)**2 / 16 + 9 * (x + 1)**3 / 192
처음 입력 파일처럼 범위를 안 주면, gnuplot이 자동으로 x축과 y축의 범위를 설정한다. 옵션의 뜻은, −10≤x≤10, 1≤y≤11 에서의 그래프를 그리라는 것이다.
범위 설정 후의 결과는:
보다시피, x=−1 주위에서 두 그래프가 거의 똑같음을 알 수 있다.
그러면 이 테일러 전개는 맞게 된 거라 생각하면 된다.
사족으로, 첫 째 항까지, 둘 째항까지, 셋 째 항까지, 그리고 넷 째 항까지의 테일러 전개를 같이 그리면 다음과 같다:
(아, 물론 원래 그래프인 √3+x2 도 같이 그렸다.)
멋있지 않은가?
새로운 (고 차의) 테일러 전개 항들이 추가될 때마다, x=−1 에서, 각 그래프가 원래의 그래프 (빨간 선) 에 점점 닮아감을 알 수있다.
gnuplot에 관한: | 이전 글 | 다음 글 (Coming soon) |