[수치해석] Newton_Raphson method / Modified Secant Method / Secant / False Position / Bisection 사용하여 문제 풀이
- 최초 등록일
- 2009.04.08
- 최종 저작일
- 2005.09
- 5페이지/ 한컴오피스
- 가격 1,000원
목차
1. 문제
2. 결과
3. 그래프 및 문제 분석
4. Program List
본문내용
이번 문제는 주어진 함수를 어떤 방법을 사용하였을때가 가장 빠르게 근을 구할 수 있는지를 비교하여 알아볼 수 있는 문제이다. 아래 그래프에서 보면 알 수 있듯이 Modified Secant, Newton-Raphson, Secant, FalsePosition, Bisection 순으로 근을 구할 수 있었다. 여기서 Modified Secant의 경우는 Secant Method의 방법을 수정하여 값을 0.01로 정하여 근을 구한 것이다. 그러나 값을 너무 크거나 작게하여 계산을 하면 오류가 커지거나 근을 구하는 Iteration이 커지는 것을 확인하였다. 따라서 우리는 적절한 값을 사용한 Modifed Secant Method나 Newton-Raphson Method, Secant Method가 FalsePosition이나 Bisection Method 보다 훨씬 빠르게 근을 구할 수 있음을 알수 있다. 그러므로 어떤함수의 근을 구하고자 할때는 먼저 Plot을하여 그 함수가 General 할 경우에는 Open Methods을 사용하여 근을 구하는것이 Bracketing Methods를 사용하는 경우보다 빠르게 근을 구할 수 있게 된다.
--- C 언어 ---
#include <stdio.h>
#include <math.h>
#define f(x) exp(-x)-x;
#define fd(x) -(exp(-x))-1;
void bisection( double xl, double xu);
void falseposition( double xl, double xu);
void newtonraphson( double xn );
void secant( double x);
void msecant( double xi1);
void main()
{
FILE *outbi;
outbi=fopen("data_bisection.out", "w");
double xu=1,xl=0; // 초기값 1,0 //
bisection(xl,xu);
FILE *outfa;
outfa=fopen("data_falseposition.out", "w");
참고 자료
없음