오류 프로그램(euler method, crank method, runge kutta method)
- 최초 등록일
- 2011.01.11
- 최종 저작일
- 2010.10
- 8페이지/ 한컴오피스
- 가격 1,500원
소개글
f=-2xy, y(1)=1 일 때, forward euler method, backward euler method, crank nicolson method, 4th order runge-kutta method를 이용하여 y(3)일 때의 에러를 구해보자. 이때 h를 0.1, 0.05, 0.025, 0.0125로 변화시키면서 구할 때, 그래프가 어떠한 양상을 보이는지 알아보자.
목차
1. 문제
2. 문제 해결
3. 결과 해석
본문내용
3. 결과 해석
crank nicolson method와 runge-kutta method 프로그램의 실행화면을 보면 과정 없이 결과값만 출력이 되도록 작성하였는데 1,2번의 경우처럼 했을 경우 실행 창이 너무 길어 제대로 된 수치 값이 나오지 않았기 때문이다. 각각의 data들을 엑셀로 옮겨 table화 한 것이 5)번이다. y_exact는 실제 solution에 x=3을 대입한 값이다. error는 |y_exact-y|를 y_exact로 나눈 값이다. log(error)와 log(h)는 엑셀의 함수기능을 사용하여 구했다. log(error)와 log(h)의 값들을 이용하여 그래프를 그렸다.
그래프를 보면 알 수 있듯이 가로축과 세로축의 비율이 1:1이 아니다. 가로축이 세로축보다 약 3배정도 늘어진 상태로 점들이 찍혀 있음을 알 수 있다. 추세선 기능을 이용하여 그래프들의 기울기를 알아보았다.
forward, backward의 경우에는 기울기가 각각 0.233, 0.37이다. 그래프가 3배정도 늘어져 있으므로 여기에 3을 곱해주면 거의 1과 같은 수치가 나온다. 또한 crank의 경우엔 기울기가 0.171로써 3을 곱해주어도 2가 되지 않는다. runge-kutta의 경우는 기울기가 1.257로써 3을 곱해주면 거의 4와 같은 수치가 나온다.
참고 자료
없음