고차미분항에서 higher order scheme 사용방법의 문제

글쓴이
푸푸
등록일
2002-11-10 01:28
조회
5,909회
추천
0건
댓글
7건
학교 졸업하고 이쪽으로 공부할 일이 없어 예전에 보던 책들은 다 BOX로 처리되어 있어 방구석에 처박혀 있었는데 사색자님이 책을 꺼내게 하시네요. 홍홍

사색자님께서 원래 질문하셨던 경계에서의 정확도가 떨어지는 것은 님께서 답변하셨듯이 중앙차분법보다는 전진이나 후진 차분법이 같은 order를 갖더라도 정확도가 떨어지는 것이 맞는거 같습니다. 저고 확인해 보니깐 경계에서는 확실히 도메인의 중앙 부분보다는 떨어지더군요.

그런데 님께서 보여주신 매트랩 코드를 확인해 보니깐 고차 미분항 처리에 문제가 있는거 같아서요. 4차 정확도는 복잡하니깐 2차 정확도를 예로 들겠습니다.
우선 님께서 사용 방법의 경우 1차미분을 계산한 값을 가지고 2차에 이용하고 다시 2차값을 이용하여 3차에 사용하니깐 다음과 같이 될것입니다.
1차미분의 경우
df/dx(i) = -f(i-1) + f(i+1) / 2h 이고
2차 미분의 경우
d/dx(df/dx) = -f'(i-1) + f'(i+1) / 2h = f(i-2) - 2f(i) + f(i+2) / (2h)^2
3차 미분은 다음과 같이 됩니다.
d/dx(f') = -f"(i-1) + f"(i+1) / 2h = -f(i-3) + 3f(i-1) - 3f(i+1) + f(i+3) / (2h)^3
즉 1차 미분의 경우 3점을 사용하고, 2차의 경우 5점, 3차는 7점을 사용하고 있습니다.

그런데 제가 다른 책(Hoffmann)을 찾아보니깐 2차정확도의 중앙차분법은
1차미분 df/dx(i) = -f(i-1) + f(i+1) / 2h
2차미분 df'/dx(i) = f(i-1) -2f(i) +f(i+1) / h^2
3차미분 df"/dx(i) = -f(i-2) +2f(i-1) - 2f(i+1) + f(i+2) / 2*h^3 로 나와 있습니다.

2차 미분항을 비교해 보시면 첫번째 식의 경우 두번째 식에 비해 격자간격이 2배가 되는 것을 확인해 보실수 있습니다. 3차도 비슷한 경우가 될거 같습니다. 정확히 3차는 해석이 안되어서요.

아마도 1차계산한 결과의 오차를 2차계산할 때 가지고 가는 거 같습니다. 그리고 경계에서는 오차가 더 커지지 않았나 싶습니다. 그리고 4차 정확도의 식도 비슷한 결과가 나오지 않을가 싶습니다.

2차 정확도의 경우 제가 계산해본 결과 확실히 차이가 있더군요. sine curve만 계산해 보았는데 내부 뿐만 아니라 경계에서 도요.
그러나 4차의 경우 경계부분은 제가 4차의 forward 계수를 몰라서 계산은 안해 보았지만 내부의 경우 미약하지만 아주 약간 결과의 차이가 있었습니다.

경계에서의 오차를 줄일려면 복잡한 수식을 쓰는거 보다는 non-uniform 격자를 써서 더 많은 격자를 부여하는게 좋은 방법인거 같습니다.
 

  • 사색자 ()

      푸푸님, 진짜 감사합니다. 이렇게까지 시간 내주셔서 책까지 직접 봐주시고... 실상 이러기가 굉장히 힘드실터인데요... *^^* 우선 푸푸님의 말씀에 전적으로 동감합니다. 쉽게쉽게 나갈려니 1차 미분한 값을 가지고 2차 미분에 이용하고, 2차 미분값을 가지고 3차 미분에 이용하니 오차가 점점 증폭됩니다. 그냥은 잘 모르는데 랜덤 노이즈를 넣어보고 계산해보면 더 가관이되죠. 게다가 이런 차분법은 uniformly spaced된 경우에만 쓸모가 있기에... non-uniformly spaced된 경우에는 polynomial fitted curve로 먼저 근사한 후에 미분값을 뽑아내는데 이것도 고차 미분으로 가면 상당히 부정확해집니다. 내부는 그럭저럭 괜찮습니다만 경계에서 특히 그렇죠.

  • 사색자 ()

      푸푸님도 non-uniformly spaced curve의 경우 polynomial fitted curve를 이용하여 미분값을 계산하리라고 보는데요, 이때는 2차 미분값을 구하기 위해 원 데이터가 아니라 1차 미분값을 이용하시리라 생각됩니다. 5포인트를 한 구간으로 정한 경우, 구간별 원 데이터를 parabolic polynomial fitted curve으로 3차미분까지 행해버리면 상수가 되어버리니 구간간에 스텝현상이 생기지 않나요? 여하튼 오차를 가지고 있는 1차 미분값을 다시 polynomial curve fitting해서 2차 미분값을 구하고 또 2차미분값을 다시 parabolic curve fitting해서 3차 미분값을 구하면 오차가 점점 증폭될 수 밖에 없는데 더 좋은 scheme이 없을런지..

  • 사색자 ()

      실상... 이 문제는 가만 생각해보면.. 참 단순한거 같은데 제가 보기엔 힘든 문제같더라고요. 미분이 참 단순한거 같은데... 인간지식의 얕음이 이런 문제에서도 발견되는거 같네요. 저만 그런가요? *^^*

  • 푸푸 ()

      저도 고차는 경험이 거의 없어서요. 유동해석의 경우 경계조건과 같이 들어가기 때문에 ghost point를 거져 먹고 들어간다고 봐도 되겠군요. 그리고 유동해석의 경우 거의가 2nd order 이거든요. 제가 가지고 있는 자료도 대부분 2차 정도 밖에는 없어서요.

  • 푸푸 ()

      미분 문제가 유한차분법의 경우 그냥 쉬어보이는데요. 이거 에러 줄일려구 무지 애쓰고 있는 분야중의 하나입니다. 저도 학문이 굉장히 낮은 관계로 깊게 공부한 적이 없는 거의 수박 겉핱기 식이 이거든요. 차분법을 공부하실때 약간의 spectral method 와 같이 공부하시면 유한차분법의 원죄에 대해서 아실것입니다. peric 책에도 약간 언급이 되어 있을 것입니다. 고차미분항 처리하는 곳에 익숙한 곳이 공력소음 계산하는 쪽이거든요. 혹시 그곳에 CAA관련 LAB 있으시면 많은 도움이 되실거로 생각되는데요. 그밖에도 stanford 쪽의 난류연구 부분에서는 PADE scheme 이라고 해서 차분을 외재적(explicit)이 아닌 내재적(implicit)로 푸는 방법을 쓰고 있습니다. PADE 같은 경우 내재적

  • 푸푸 ()

      이다 보니 미분하다 구할려구 해도 매트릭스를 만들어 풀어야 하는 번거로움이 있습니다. 저도 공부를 많이 해 보지 않아서 정확이 문제를 짚어 드리지 못하네요.

  • 사색자 ()

      푸푸님의 조언에 깊은 감사를 드립니다. 참...미분 하나만 해도 꽤 심오하네요. 그런데 이거 에러줄일려고 무지 애쓴다고 하셨는데, 연구해도 참 표가 안나는 분야인거 같습니다. 그런 분들에게 많은 박수를~ *^^*

목록


과학기술Q&A

게시판 리스트
번호 제목 글쓴이 등록일 조회 추천
344 1차의 글 유종완 11-15 4648 0
343 이 디스플레이 정보 좀 주세요. 댓글 7 로켓연구가 11-15 4687 0
342 검은 온실효과 관련... 댓글 1 유종완 11-15 4062 0
341 답변글 [re] 검은 온실효과 관련... 댓글 1 소요유 11-15 4067 0
340 경우의 수에 관한 질문입니다. 댓글 8 권석준 11-14 4980 0
339 물수제비 현상은 어떻게 일어나는거에요?? 댓글 7 루리루리 11-14 6262 1
338 [질문]원자력공학이나 플라즈마 물리학전공하시는분? 댓글 8 Barney 11-13 8269 0
337 [질문:DNA 추출기] 혈액의 물성치 댓글 30 허크 11-12 7120 0
336 답변글 [re] [질문:DNA 추출기] 혈액의 물성치 사색자 11-13 4182 1
335 이게 뭔 말이죠? 미국이 한국 기술에 딴지를 걸다니... 댓글 5 익명좋아 11-11 4205 1
334 전자기학 질문요.. 댓글 3 이광수 11-10 5572 0
333 답변글 흑흑 댓글 5 이광수 11-10 5123 3
332 답변글 [re] 전자기학 질문요.. 댓글 2 정진호 11-11 6630 0
331 지구 자체의 자기장? 댓글 1 노력파 11-10 4974 2
330 [질문] 대학 준비생이 읽어볼만한 책들좀 추천해주세요. 댓글 19 Who? 11-09 4335 0
329 [질문]자기유도현상 댓글 6 FLAME 11-07 6179 0
328 [간단한 질문] Numerical derivative 중에서... 댓글 10 사색자 11-07 5428 0
327 답변글 [re] 매틀랩 예제입니다. 댓글 5 사색자 11-08 8070 1
열람중 답변글 고차미분항에서 higher order scheme 사용방법의 문제 댓글 7 푸푸 11-10 5910 0
325 전산해석 vs. 실험 댓글 26 강나루 11-07 8997 4


랜덤글로 점프
과학기술인이 한국의 미래를 만듭니다.
© 2002 - 2015 scieng.net
모바일 버전으로 보기