목차
1. 이론
2. 수행 계획
3. 프로그램
4. 수행 결과
5. 결과 분석
6. 고찰
2. 수행 계획
3. 프로그램
4. 수행 결과
5. 결과 분석
6. 고찰
본문내용
의 절대값이다.
3) x0 = x1 이다. 4) 다시 4번으로 돌아가 4-1과 4-2를 판단한다.
<할선법>
x0, x1 값을 받는다.
허용오차 값을 받는다.
3. 초기 오차는 x1 x0 이다.
4-1. 오차 > 허용오차라면 → 계산을 진행한다.
4-2. 오차 < 허용오차라면 → 계산을 종료한다.
4-1 에서
1) x2 = x1 - (x1 - x0) / (f(x1) - f(x0)) × f(x1) 이다.
2) 오차는 x2 x1의 절대값이다.
3) x0 = x1 이다.
4) x1 = x2 이다. 4) 다시 4번으로 돌아가 4-1과 4-2를 판단한다.
3. 프로그램
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4. 수행 결과
f(x) = x3 + 2x2 1
일 때 제시된 함수가 구간 [0, 1]에서 0이 되는 해를 구한다.
오차는 0.0001로 설정하였고, 소수점 뒤 자릿수는 9자리로 하였다.
<이분법>
<뉴턴법> - (x가 0일 때 미분계수가 0이되어 뉴턴법을 쓸수 없으므로 초기 x값은 1로 정하였다.)
<할선법>
이분법
뉴턴법
할선법
계산횟수
14
4
7
x값
0.617980957
0.618033995
0.618033988
오차
0.000061035
0.000076702
0.000001465
5. 결과 분석
<이분법> <뉴턴법> <할선법>
같은 허용오차 수치를 주고 계산할 시, 계산횟수는 이분법이 가장 많았고, 뉴턴법이 가장 적었다.
다른 값으로도 수치해석을 해 보았다.
< 구간 [-20, 20]에서 오차 0.000001 설정, 뉴턴법은 초기값 x = 40 설정 >
<이분법> <뉴턴법> <할선법>
할선법의 해가 1.618033989로 나왔다. 이는 구간 [-20,20]에서 이분법과 뉴턴법으로 구해진 값 이외에 다른 해가 존재하는 것으로 볼 수 있다. 이전 결과와 마찬가지로 이분법이 계산횟수가 가장 많았지만, 이번엔 할선법이 계산횟수가 가장 작았다.
상기 근사치 해가 0.618므로, 이번엔 구간을 좁혀서 다시 수치해석을 실시해보았다.
< 구간 [0.6179999, 0.6181]에서 오차 0.0000001 설정, 뉴턴법은 초기값 x = 0.145 설정 >
<이분법> <뉴턴법> <할선법>
이번에는 뉴턴법이 계산횟수가 42회로 비약적으로 많았다. 할선법은 단 2번만에 계산을 끝내고 근사해를 찾아냈다.
6. 고찰
수치해석 이론은 어렵지 않았으나, 이를 컴퓨터언어로 어떻게 프로그래밍 할 것인지에 대해서 굉장히 많이 고민하고 연구해보았다. 2, 3일 꼬박 밤을 새며 꽤 오랜시간이 걸렸지만 이분법, 뉴턴법, 할선법 프로그래밍을 성공적으로 해낸 것 같다.
결과를 분석하면서, 처음엔 계산횟수가 적을수록 수렴속도가 빠르다고 생각했는데, 여러 가지 값을 대입하니 그건 아니라고 판단되었다. 또한 구간을 넓게 설정하면, 할선법에서는 타 기법과 다른 해가 나올 수 있다는 것도 알게 되었다. 올바른 해석을 하려면 적절한 구간으로 설정해야 할 것이다.
3) x0 = x1 이다. 4) 다시 4번으로 돌아가 4-1과 4-2를 판단한다.
<할선법>
x0, x1 값을 받는다.
허용오차 값을 받는다.
3. 초기 오차는 x1 x0 이다.
4-1. 오차 > 허용오차라면 → 계산을 진행한다.
4-2. 오차 < 허용오차라면 → 계산을 종료한다.
4-1 에서
1) x2 = x1 - (x1 - x0) / (f(x1) - f(x0)) × f(x1) 이다.
2) 오차는 x2 x1의 절대값이다.
3) x0 = x1 이다.
4) x1 = x2 이다. 4) 다시 4번으로 돌아가 4-1과 4-2를 판단한다.
3. 프로그램
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4. 수행 결과
f(x) = x3 + 2x2 1
일 때 제시된 함수가 구간 [0, 1]에서 0이 되는 해를 구한다.
오차는 0.0001로 설정하였고, 소수점 뒤 자릿수는 9자리로 하였다.
<이분법>
<뉴턴법> - (x가 0일 때 미분계수가 0이되어 뉴턴법을 쓸수 없으므로 초기 x값은 1로 정하였다.)
<할선법>
이분법
뉴턴법
할선법
계산횟수
14
4
7
x값
0.617980957
0.618033995
0.618033988
오차
0.000061035
0.000076702
0.000001465
5. 결과 분석
<이분법> <뉴턴법> <할선법>
같은 허용오차 수치를 주고 계산할 시, 계산횟수는 이분법이 가장 많았고, 뉴턴법이 가장 적었다.
다른 값으로도 수치해석을 해 보았다.
< 구간 [-20, 20]에서 오차 0.000001 설정, 뉴턴법은 초기값 x = 40 설정 >
<이분법> <뉴턴법> <할선법>
할선법의 해가 1.618033989로 나왔다. 이는 구간 [-20,20]에서 이분법과 뉴턴법으로 구해진 값 이외에 다른 해가 존재하는 것으로 볼 수 있다. 이전 결과와 마찬가지로 이분법이 계산횟수가 가장 많았지만, 이번엔 할선법이 계산횟수가 가장 작았다.
상기 근사치 해가 0.618므로, 이번엔 구간을 좁혀서 다시 수치해석을 실시해보았다.
< 구간 [0.6179999, 0.6181]에서 오차 0.0000001 설정, 뉴턴법은 초기값 x = 0.145 설정 >
<이분법> <뉴턴법> <할선법>
이번에는 뉴턴법이 계산횟수가 42회로 비약적으로 많았다. 할선법은 단 2번만에 계산을 끝내고 근사해를 찾아냈다.
6. 고찰
수치해석 이론은 어렵지 않았으나, 이를 컴퓨터언어로 어떻게 프로그래밍 할 것인지에 대해서 굉장히 많이 고민하고 연구해보았다. 2, 3일 꼬박 밤을 새며 꽤 오랜시간이 걸렸지만 이분법, 뉴턴법, 할선법 프로그래밍을 성공적으로 해낸 것 같다.
결과를 분석하면서, 처음엔 계산횟수가 적을수록 수렴속도가 빠르다고 생각했는데, 여러 가지 값을 대입하니 그건 아니라고 판단되었다. 또한 구간을 넓게 설정하면, 할선법에서는 타 기법과 다른 해가 나올 수 있다는 것도 알게 되었다. 올바른 해석을 하려면 적절한 구간으로 설정해야 할 것이다.
추천자료
- 가족발달이론,가족체계이론
- 도덕성발달이론의 비교 정리 및 유아기의 도덕성 발달을 위한 지도원리와 도덕성 발달활동에 ...
- 위기이론 분류의 재구성, 그리고 위기이론들
- [발달이론]에릭슨, 레빈슨, 로에빙거의 발달이론을 비교 설명 - 세 이론의 주요 내용 및 발달...
- 학습이론(행동주의 이론)에 대해 정리하고 유아교육 현장에서 행동주의 방법으로 영유아를 교...
- [성인학습 및 상담론 공통] 에릭슨(Erikson), 레빈슨(Levinson), 로에빙거(Loevinger)의 발달...
- [상담심리학] 정신분석적 상담이론, 인간중심적 상담이론, 게슈탈트상담이론을 비교·설명, ...
- 영유아 발달이론 중 행동주의 이론에 근거한 만 5세 아에게 가장 효과적일 거 같은 교육활동...
- [상담심리학]정신분석적 상담이론, 인간중심 상담이론, 행동수정이론을 비교 ·설명한 후, 핵...
- [인간행동과사회환경 C] 사회적 학습이론과 행동주의 이론을 비교하고 이론적 공통점과 상이...
- 유아교육평가A형 2017년-시간표집법으로 관찰,유아의 다양한 행동들을 유아교육 현장 혹은 생...
소개글