네, 다시 돌아왔습니다 ㅋㅋ Fourier series를 함께 차근차근 해볼텐데요, 일단 큰 그림을 머릿속에 넣고 갈겁니다.
Fourier series 에서는, 제일 먼저 주기가 2π인 경우의 특수한 경우를 따져볼거에요. 그 다음에는 그것을 조금 더 일반적으로, 주기가 임의의 상수로 나오는 경우에 대해 따져볼겁니다. 여기까지는 삼각함수를 가지고 하는 얘기입니다.
삼각함수가 아닌, 다른 함수로 확장시켜서 Fourier series 를 사용할 수 있도록 해주는 것이 바로 Sturm-Liouville 이론입니다. 이 이론이 없었다면 우리는 구면좌표계나 원통좌표계에서 나오는 방정식을 풀 수 없었을지도 몰라요.
대충 이 정도의 플롯을 가지고 포스팅을 따라와 주시면 되겠습니다. 그럼, 제일 단순한 경우부터 생각해볼까요?
Fourier series - 주기가 2π
Fourier series 를 가장 이해하기 쉽게 표현하자면, 이렇게 말할 수 있을 겁니다.
- 주어진 f(x)를 cosx,sinx의 합으로 표현하고자 하는 노력
이 말을 그대로 수식으로 옮겨볼게요.
f(x)=∞∑n=0(ancosnx+bnsinnx)
Fourier series 모양 고치기
f(x)=∞∑n=0(ancosnx+bnsinnx)
이 식으로 다시 돌아와 봅시다. 원칙적으로는 이 식이 맞지만, 여러분이 교과서에서 볼 식이랑은 조금 다를 거에요. 왜냐구요?
n=0을 넣은 상태에서는 어떻게 되느냐….
a0cos0+bnsin0
어 그런데… sin0=0이고 cos0=1이니까 n=0일 때는 그냥 a0만 남겠네요.
그러니 결국 좀 더 간단히 표현해주자면,
f(x)=∞∑n=0(ancosnx+bnsinnx)=a0+∞∑n=1(ancosnx+bnsinnx)
이제 익숙한 표현을 보고 있죠?
왜 sin,cos?
저 식을 보고 의문이 든다면 당연한 겁니다. 왜 굳이?라는 거죠. 예를 들어…
f(x)=x인 경우를 생각해봅시다. 이 함수는 직선함수인데, 굳이 꼬불꼬불 주기 함수인 sin,cos로 표시할 필요가 있냐는거죠.
그 이유는 바로, 우리가 미분방정식 ODE를 풀 때 나오는 해들에 sinx,cosx가 많았다는 사실에서 기인합니다. 기억하나요?
사실 뭐… 우리가 풀었던 방정식의 해에는 ex가 더 많이 나왔던 것은 사실입니다. 하지만 ex는 상당히 다루기가 골룸한 함수일겁니다. x를 조금만 증가시키면 끝없이 위로 올라가버리니까요. 네 뭐, 적분이나 미분을 하기는 쉽습니다만, ex와 가장 연관성이 높은 lnx라는 함수는 적분하기도 상당히….골치가 아픈 놈입니다.
이런 점들 뿐만 아니라, sinx,cosx가 가지는 가장 큰 메리트는, 주기성과 직교성일 것입니다. 삼각함수가 주기를 가지는 것이야, 자명한거고, 직교성이 왜 이렇게 큰 메리트를 가지는지, 바로 아래에서 확인해 보도록 해요!
Fourier series -계수 구하기
orthogonality
f(x)=a0+∞∑n=1(ancosnx+bnsinnx)
자 그렇다면, 모르는 계수들을 구해볼겁니다. 바로 orthogonality를 이용해서요! 혹시 뭔지 까먹었나요? 여기서 어떤 내용인지 한 번 확인을 하고 옵시다.
한 마디로 말하자면, 이런 거겠죠?
∫bar(x)f(x)g(x)dx=0
이미 저 포스팅에서는 r(x)=1,f(x)=sinx,g(x)=cosx일 때 orthogonality 가 성립한다는 사실을 보였습니다. a=0,b=2π일 때에 대해 보였었는데요, 좀 더 자세히 살펴봅시다.
cosnx,cosmx
x 앞에 붙은 계수가 서로 다른 정수인 두 cos함수는 orthogonality 를 보일겁니다. 유도해볼까요?
∫π−πcosnxcosmxdx =12∫π−πcos(n+m)xdx+12∫π−πcos(n−m)xdx=12(n+m)[sin(n+m)π−sin(n+m)(−π)] +12(n−m)[sin(n−m)π−sin(n−m)(−π)]
그런데, (n+m),(n−m)은 정수입니다. sin에 정수배를 한 π를 곱하면 무조건 0으로 떨어질테니, 저 값은 결국 모두 0이 되겠네요.
∫π−πcosnxcosmxdx=0
- 주의할 점은, n=m일 경우에는 위에서 함께 전개한 유도과정을 적용할 수 없다는 거죠. 그러면 분모에 0이 들어가게 되니까요! 이 orthogonality 는 n≠m인 경우에만 성립합니다. n=m인 경우에는 따로 계산을 해줘야 하는 거죠!
sinnx,sinmx
x 앞에 붙은 계수가 서로 다른 정수인 두 sin함수또한 서로 orthogonality 를 보일겁니다.
∫π−πsinnxsinmxdx =12∫π−πcos(n−m)xdx+12∫π−πcos(n+m)xdx=12(n−m)[sin(n−m)π−sin(n−m)(−π)] +12(n+m)[sin(n+m)π−sin(n+m)(−π)]
마찬가지 이유로, 전개한 항들은 전부 0으로 날아가겠죠?
∫π−πsinnxsinmxdx=0
- 마찬가지로, n≠m인 경우에만 성립하는 orthogonality 입니다.
sinnx,cosmx
sin,cos의 경우에는, n=m이어도 orthogonality가 성립합니다. 일단 n≠m인 경우부터 유도해볼까요?
∫π−πsinnxcosmxdx =12∫π−πsin(n+m)xdx+12∫π−πsin(n−m)xdx=−12(n+m)[cos(n+m)π−cos(n+m)(−π)] −12(n−m)[cos(n−m)π−cos(n−m)(−π)]
그런데, cos는 안에 π,−π가 들어간 결과가 같을테니 괄호안에 있는 녀석들이 전부 0으로 날아가 버릴겁니다. 즉!
∫π−πsinnxcosmxdx =0
그러면 n=m인 경우에는 어떻게 될까요? 삼각함수의 두배공식을 기억하신다면 쉬울겁니다!
sin2nx=2sinnxcosnx
∫π−πsinnxcosnxdx=12∫π−πsin2nxdx=−14n[cos2nπ−cos2n(−π)]
네 마찬가지로, cos항이 0으로 함께 날아갈테니, 이 값도 0이 되겠죠?
이제까지 살펴본 세 가지 orthogonality 를 정리해보면 아래와 같습니다.
- ∫π−πcosnxcosmxdx=0(n≠m)
- ∫π−πsinnxsinmxdx=0(n≠m)
- ∫π−πsinnxcosmxdx =0
이제 이 성질을 이용해서 계수를 구해볼겁니다.
a0구하기
a0는 제일 쉽습니다. 그냥 Fourier series 정의 식에다가 통째로 적분을 씌우면 되거든요!
f(x)=a0+∞∑n=1(ancosnx+bnsinnx)
여기에 −π부터 π까지 가는 적분을 씌워봅시다.
∫π−πf(x)dx=∫π−πa0dx+∫π−π(∞∑n=1ancosnx)dx+∫π−π(∞∑n=1bnsinnx)dx=a0∫π−πdx+∞∑n=1an∫π−π(cosnx)dx+∞∑n=1bn∫π−π(sinnx)dx
∫π−π(cosnx)dx=∫π−π(sinnx)dx=0이라는 것 쯤이야 쉽게 보일 수 있을 겁니다. n이 정수니까요. 그러니 뒤에 있는 항들이 통째로 날아가고, 간단하게 정리가 뙇! 됩니다.
∫π−πf(x)dx=a0∫π−πdx=2πa0
결론적으로는,
- a0=12π∫π−πf(x)dx
an구하기
이번에는 양변에 cosmx를 곱해볼게요. 그런데 이 때, m은 뭘 선정하느냐 : 아무거나! 입니다. ㅋㅋㅋㅋ 어떤 정수든 선정해서 곱할거다…정도의 의미를 가진다고 생각하시면 되겠네요 ㅋㅋㅋ
f(x)cosmx=a0cosmx+∞∑n=1(ancosnxcosmx+bnsinnxcosmx)
여기에 −π부터 π까지 가는 적분을 씌워봅시다.
∫π−πf(x)cosmxdx=∫π−πa0cosmxdx+∫π−π(∞∑n=1ancosnxcosmx)dx+∫π−π(∞∑n=1bnsinnxcosmx)dx=a0∫π−πcosmxdx+∞∑n=1an∫π−π(cosnxcosmx)dx+∞∑n=1bn∫π−π(sinnxcosmx)dx
엇, 그렇다면….
a0∫π−πcosmxdx⏟0+∞∑n=1an∫π−π(cosnxcosmx)dx⏟0,except n=m+∞∑n=1bn∫π−π(sinnxcosmx)dx⏟=0
위에서 열심히 정리한 orthogonality 에 의해, 세 번째 적분이 통째로 날아갑니다. 그리고 첫 번째 적분이 0이 되는 건 쉽구요.
그렇다면, 이제 가운데에 있는 적분만이 남았습니다. m이 n과 같은 경우가 아니라면 전부 0이 되어 날아갈테니, 남은 항은 아래와 같겠죠.
am∫π−πcos2mxdx
이걸 계산해보면 그냥 amπ입니다 ㅋㅋㅋㅋㅋ 계산은 간단하니 생략하고….
정리해서 적어보자면,
∫π−πf(x)cosmxdx=amπ
이렇게 됩니다. 이제 m을 n으로 바꿔주기만 하면 책에서 보던 그 식이 나오겠죠.
- an=1π∫π−πf(x)cosnxdx
bn구하기
똑같은 과정에 의해서 구할겁니다. 일단 양변에 sinmx를 곱하고,
f(x)sinmx=a0sinmx+∞∑n=1(ancosnxsinmx+bnsinnxsinmx)
여기에 −π부터 π까지 가는 적분을 씌워봅시다.
∫π−πf(x)sinmxdx=∫π−πa0sinmxdx+∫π−π(∞∑n=1ancosnxsinmx)dx+∫π−π(∞∑n=1bnsinnxsinmx)dx=a0∫π−πsinmxdx+∞∑n=1an∫π−π(cosnxsinmx)dx+∞∑n=1bn∫π−π(sinnxsinmx)dx
위에 있는 거랑 똑같습니다 ㅋㅋㅋ
a0∫π−πsinmxdx⏟0+∞∑n=1an∫π−π(cosnxsinmx)dx⏟=0+∞∑n=1bn∫π−π(sinnxsinmx)dx⏟0,except n=m
따라서 남는 항은 이렇게 나올거고,
bm∫π−πsin2mxdx
예상하셨듯 bmπ가 될겁니다. 다시 정리해보면,
∫π−πf(x)sinmxdx=bmπ
짜잔! ㅋㅋㅋ 쉽죠? 우리가 앞으로 할 것들에 비하면 아무것도 아닌 계산량입니다.. 쏘쌛 ㅠㅠ
- bn=1π∫π−πf(x)sinnxdx
정리
정리해보자면, Fourier series 는 아래와 같이 표현됩니다.
f(x)=a0+∞∑n=1(ancosnx+bnsinnx)
주어진 함수를 두 삼각함수들의 무한합 형태로 표현하는 것이고, 이 때 각각의 계수를 이렇게 잡아주면 결과가 완성됩니다.
- a0=12π∫π−πf(x)dx
- an=1π∫π−πf(x)cosnxdx
- bn=1π∫π−πf(x)sinnxdx
조금만 더 살펴볼까요? n이 증가할 수록 삼각함수들의 주기가 더 작아집니다. 즉, 더 세부적인 부분에 대한 표현이 가능하다는 거죠. 실제로 n의 증가에 따른 그래프의 모양을 보면 아래와 같습니다. 검은 색이 원래의 함수이고, 색깔이 들어간 그래프가 Fourier series 로 근사한 값입니다.
그래서 사실 제일 중요한건 초반, 그러니까 n이 작을때의 계수들이 굉장히 중요하게 작용하더라~는 얘기를 할 수 있는거죠.
다음 시간 예고
저 위에 있는 그래프를 다시 보고 와봅시다. 주기가 얼마인가요? ㅋㅋㅋㅋ 잘 안보이겠지만, 3.14 즈음에서 0을 찍고 내려가는 것이 보이나요? 네 그렇습니다. 저 함수는 2π를 주기로 갖는 함수인데요, 하지만 세상에는 2π를 주기로 갖는 함수만 있는 것이 아니기 때문에, 어떻게 일반화를 시킬것이냐…에 대해 얘기를 좀 해보려 합니다. 일단 오늘은 몸풀기 정도로 생각해두고, 다음에 봐요!
'지난 연재물 - 수학 & 통계학 > [상미분방정식] 참새와 함께하는 공학수학 - ODE 편' 카테고리의 다른 글
#7. Fourier Series(3. approximation) (4) | 2015.12.13 |
---|---|
#7. Fourier Series(2. extension) (2) | 2015.11.22 |
#7. Fourier Series(0. intro) (1) | 2015.10.31 |
#6.Outro (3) | 2015.08.02 |
#5.Laplace transform(8.문제 풀이) (9) | 2015.08.01 |
댓글