C++을 이용한 근찾기 문제를 위한 이분법 및 할선법, 가위치법, 뉴튼-랩슨법, Aitken 델타제곱법, 뮬러법의 비교
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 서론
2. 본론
1) 이분법
2) 할선법
3) 가위치법
4) 뉴튼-랩슨법
5) Aitken 델타제곱법
6) 뮬러
3. 결론
4. 별지
5. 소스 및 결과

본문내용

\na%i=%.10f", n, a);
printf("\tb%i=%.10f", n, b);
printf("\tp%i=%.10f", n, p3);
printf("\tf(p%i)=%.10f", n, f(p3));
z=sqrt(pow(p3-p2,2));
p0=p1;
p1=p2;
p2=p3;
}
}
double f(double x)
{
return(pow(x,2)-3);
}
6.3 뮬러법 e^x-3x^2 [0, 1] 10^-8
#include < stdio.h >
#include < math.h >
void Muller_Method(double, double, double, double);
double f(double);
void main(void)
{
printf("e^x-3x^2, [0,1], 10^-8");
double p0, p1, p2, er;
p0=0;
p1=0.5;
p2=1;
er=pow(10, -8);
Muller_Method(p0, p1, p2, er);
}
void Muller_Method(double p0, double p1, double p2, double er)
{
double p3, c, b, a, z;
p3=0;
c=0;
b=0;
a=0;
z=1;
int n=2;
for(;er*100 {
n=n+1;
c=f(p2);
b=(pow((p0-p2),2)*(f(p1)-f(p2))-pow((p1-p2),2)*(f(p0)-f(p2)))/((p0-p2)*(p1-p2)*(p0-p1));
a=((p1-p2)*(f(p0)-f(p2))-((p0)-(p2))*(f(p1)-f(p2)))/((p0-p2)*(p1-p2)*(p0-p1));
p3=p2-(2*c)/((b+sin(b)*sqrt(pow(b,2)-4*a*c)));
printf("\na%i=%.10f", n, a);
printf("\tb%i=%.10f", n, b);
printf("\tp%i=%.10f", n, p3);
printf("\tf(p%i)=%.10f", n, f(p3));
z=sqrt(pow(p3-p2,2));
p0=p1;
p1=p2;
p2=p3;
}
}
double f(double x)
{
return(pow(2.718281828,x)-3*pow(x,2));
}
6.4 뮬러법 e^x-3x^2 [3, 5] 10^-8
#include < stdio.h >
#include < math.h >
void Muller_Method(double, double, double, double);
double f(double);
void main(void)
{
printf("e^x-3x^2, [3,5], 10^-8");
double p0, p1, p2, er;
p0=3;
p1=4;
p2=5;
er=pow(10, -8);
Muller_Method(p0, p1, p2, er);
}
void Muller_Method(double p0, double p1, double p2, double er)
{
double p3, c, b, a, z;
p3=0;
c=0;
b=0;
a=0;
z=1;
int n=2;
for(;er*100 {
n=n+1;
c=f(p2);
b=(pow((p0-p2),2)*(f(p1)-f(p2))-pow((p1-p2),2)*(f(p0)-f(p2)))/((p0-p2)*(p1-p2)*(p0-p1));
a=((p1-p2)*(f(p0)-f(p2))-((p0)-(p2))*(f(p1)-f(p2)))/((p0-p2)*(p1-p2)*(p0-p1));
p3=p2-(2*c)/((b+sin(b)*sqrt(pow(b,2)-4*a*c)));
printf("\na%i=%.10f", n, a);
printf("\tb%i=%.10f", n, b);
printf("\tp%i=%.10f", n, p3);
printf("\tf(p%i)=%.10f", n, f(p3));
z=sqrt(pow(p3-p2,2));
p0=p1;
p1=p2;
p2=p3;
}
}
double f(double x)
{
return(pow(2.718281828,x)-3*pow(x,2));
}
6.5 뮬러법 g/2w^2(e^wt-e^-wt/2-sinwt-1.7 [-0.5,-0.1] 10^-8
#include < stdio.h >
#include < math.h >
void Muller_Method(double, double, double, double);
double f(double);
void main(void)
{
printf("g/2w^2(e^wt-e^-wt/2-sinwt-1.7), [-0.5,-0.1], 10^-8");
double p0, p1, p2, er;
p0=-0.4;
p1=-0.3;
p2=-0.2;
er=pow(10, -8);
Muller_Method(p0, p1, p2, er);
}
void Muller_Method(double p0, double p1, double p2, double er)
{
double p3, c, b, a, z;
p3=0;
c=0;
b=0;
a=0;
z=1;
int n=2;
for(;er*100 {
n=n+1;
c=f(p2);
b=(pow((p0-p2),2)*(f(p1)-f(p2))-pow((p1-p2),2)*(f(p0)-f(p2)))/((p0-p2)*(p1-p2)*(p0-p1));
a=((p1-p2)*(f(p0)-f(p2))-((p0)-(p2))*(f(p1)-f(p2)))/((p0-p2)*(p1-p2)*(p0-p1));
p3=p2-(2*c)/((b+sin(b)*sqrt(pow(b,2)-4*a*c)));
printf("\na%i=%.10f", n, a);
printf("\tb%i=%.10f", n, b);
printf("\tp%i=%.10f", n, p3);
printf("\tf(p%i)=%.10f", n, f(p3));
z=sqrt(pow(p3-p2,2));
p0=p1;
p1=p2;
p2=p3;
}
}
double f(double x)
{
return((-32.17/(2*pow(x,2)))*((pow(2.718281828,x)-pow(2.718281828,-x))/2-sin(x))-1.7);
}

키워드

이분법,   할선법,   가위치법,   뉴턴법,   Aitken,   뮬러법,   소스,   c++
  • 가격3,000
  • 페이지수93페이지
  • 등록일2009.06.11
  • 저작시기2008.9
  • 파일형식한글(hwp)
  • 자료번호#540705
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니