bisection, false position, 수치해석
- 최초 등록일
- 2008.06.25
- 최종 저작일
- 2008.03
- 10페이지/ 한컴오피스
- 가격 1,500원
소개글
수치해석의 bisection method, false position method 코드와 예제
목차
수치해석의 bisection method, false position method 코드와 예제
본문내용
문제에서 주어진 식은 낙하산을 타고 강하하는 사람의 속도를 표현해 주는 방정식이다. 위 식에서 속도와 시간이 주어질 때 질량을 구하고자 한다. 첫 번째로 식을 변수 m 에 관한 방정식 f(m)으로 만들어 그래프를 그려보았다. 그래프에서 확인한 바로 근, 즉 질량 m 은 59와 61 사이에 존재함을 확인할 수 있었다. 그래프의 범위를 더 좁히거나 구간을 줄이는 등의 방법으로 더 근에 근접한 값을 얻을 수 있겠지만, 수치해석적인 방법으로 풀어보자. Bisection Method와 False-Position Method를 각각 프로그램을 이용해 코딩한 후 initial guess를 xl=59, xu=61로 하고, 나타난 결과 값에서 오차범위가 0.1 % 이내로 들어올 때를 비교해보았다. Bisection Method는 여섯 번째 연산결과에서 나타났고, False-Position의 경우 단 두 번 만에 0.01%로 정도로 근사한 근을 얻을 수 있었다. 이러한 결과로 볼 때 False-Position의 방법이 근을 구하는데 있어 좀 더 빠른 방법임을 알 수 있었다.
◆ Programing Source
1. Bisection Method
/* Problem 5.13 by Bisection Method
The velocity v of a falling parachutist is given by
v=g*m/c*(1-exp((c/m)*t)
Determine m to a level of ea=0.1%
g=9.8 m/s^2, t=9s, v=35 m/s
*/
#include <iostream.h>
#include <math.h>
#define g 9.8
#define t 9
#define c 15
double f(double);
void main()
{
double xl, xu, xr, xold, ea ;
int iter=0;
cout << "Problem 5.13 by Bisection Method" << "n";
xl=59;
xu=61; //initial guess
xold = 0;
while (iter <= 6 )
{
참고 자료
Numerical methods for engineers