이분법, (수정)선형보간법, 고정점 반복법, Newton법, secant법, Muller법, Bairstow법
본 자료는 6페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
해당 자료는 6페이지 까지만 미리보기를 제공합니다.
6페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

이분법, (수정)선형보간법, 고정점 반복법, Newton법, secant법, Muller법, Bairstow법에 대한 보고서 자료입니다.

목차

1. 이분법을 사용하여 유효숫자 3자리까지 계산하시오
2. 선형 보간 법을 사용하여 유효숫자 5자리 까지 구하여라.
3. 수정 선형 보간법을 이용하여 [0, 3] 사이의 근들을 오차율 0.001% 이하로 계산하시오.
4. 고정점 반복법을 사용하여 유효숫자 3자리 까지 구하라.
6. Newton's Method 를 이용하여 유효숫자 5자리 까지 구하여라.
7. 주어진 구간 내의 근을 secant 법으로 구하시오.
8. Muller's Method를 이용하여 근을 구하여라
9. Bairstow Method를 이용하여 근을 구하시오.

본문내용

in()
{
double x1=0;
double x2=1;
double x3;
double x3o=0;
double f1=-1;
double f2=-0.12319;
while(1)
{
x3=x2-f2*(x2-x1)/(f2-f1);
printf(\"%lf\\n\",x3);
double f3=func(x3);
if (fabs((x3-x3o)/x3)*100 < 0.0005 )
break ;
if (fabs((x3-x3o)/x3)*100 > 0.0005)
{
x3o=x3;
x1=x2;
x2=x3;
f1=func(x1);
f2=func(x2);
}
}
}
double func(double d)
{
double a = exp(d)-sin(d) - 2;
return a;
}
<< 코딩을 컴퓨터로 직접 돌려본 결과 값. >>
따라서 오차 이내의 근사 값은 1.054127 에 해당한다.
11.(b) Muller\'s Method
3x3 + 4x2 - 8x -2 = 0 , 1 < x < 2
<< C++ Source >>
#include
#include
double func(double d);
void main()
{
double x1=1;
double x0=1.2;
double x2=1.4;
double x3=10;
double f1=-3;
double f0=-0.656;
double f2=2.872;
double x3o=1;
while(1)
{
double h1= x0-x1;
double h2= x2-x0;
double r=h2/h1;
double a=(r*f1-f0*(1+r)+f2)/(r*h1*h1*(1+r));
double b=(a*h1*h1+f0-f1)/(h1);
double c=f0;
if (fabs((x3-x3o)/x3)*100 < 0.0005)
break ;
if (b>0)
{
x3=x0 - (2*c)/(b+ sqrt(b*b-4*a*c));
printf(\"%lf\\n\",x3);
}
else
{
x3=x0 - (2*c)/(b- sqrt(b*b-4*a*c));
printf(\"%lf\\n\",x3);
}
if (x3>x0)
{
x1=x0;
x3o=x0;
x0=x3;
f1=func(x1);
f0=func(x0);
f2=func(x2);
}
else
{
x2=x0;
x3o=x0;
x0=x3;
f1=func(x1);
f0=func(x0);
f2=func(x2);
}
}
}
double func(double d)
{
double a = 3*d*d*d + 4*d*d - 8*d -2 ;
return a;
}
<< 코딩을 컴퓨터로 직접 돌려본 결과 값. >>
따라서 오차 이내의 근사 값은 1.243146 에 해당한다.
12(g). Bairstow Method
3x5 - 3x4 + 4x3 - 4x + 4 = 0
<< C++ Source >>
#include
#include
void main()
{ double a1=1,a2=-3,a3=4,a4=0,a5=-4,a6=4;
double r0=3;
double s0=-4;
double b_1=0, b0=0, b1=1;
double c_1=0, c0=0, c1=1;
while(1)
{
double b2=a2+r0*b1+s0*b0;
double b3=a3+r0*b2+s0*b1;
double b4=a4+r0*b3+s0*b2;
double b5=a5+r0*b4+s0*b3;
double b6=a6+r0*b5+s0*b4;
double c2=b2+r0*c1+s0*c0;
double c3=b3+r0*c2+s0*c1;
double c4=b4+r0*c3+s0*c2;
double c5=b5+r0*c4+s0*c3;
double c6=b6+r0*c5+s0*c4;
double dr=(b5*c4-b6*c3)/(c5*c3-c4*c4);
double ds=(b6*c4-b5*c5)/(c5*c3-c4*c4);
printf(\"%lf,%lf\\n\",r0,s0);
if (fabs(dr/r0)*100 < 0.00001)
{
if (fabs(ds/s0)*100 < 0.00001)
break ;
else
{
r0=(r0+dr);
s0=(s0+ds);
}
}
if (fabs(dr/r0)*100 > 0.00001)
{
r0=(r0+dr);
s0=(s0+ds);
}
}
}
<< 코딩을 컴퓨터로 직접 돌려본 결과 값. >>
따라서 q(x)= x2-2x+2 → 근 : x1 = 1+i , x2 = 1-i
조립제법에 의거, p(x)= (x2+2x-2)(x3+x2-2)
뒤에 3차식을 풀기 위하여 다시 코딩한다.
<< C++ Source >>
#include
#include
void main()
{ double a1=1,a2=1,a3=0,a4=-2;
double r0=1;
double s0=0;
double b_1=0, b0=0, b1=1;
double c_1=0, c0=0, c1=1;
while(1)
{
double b2=a2+r0*b1+s0*b0;
double b3=a3+r0*b2+s0*b1;
double b4=a4+r0*b3+s0*b2;
double c2=b2+r0*c1+s0*c0;
double c3=b3+r0*c2+s0*c1;
double c4=b4+r0*c3+s0*c2;
double dr=(b3*c2-b4*c1)/(c3*c1-c2*c2);
double ds=(b4*c2-b3*c3)/(c3*c1-c2*c2);
printf(\"%lf,%lf\\n\",r0,s0);
if (fabs(dr/r0)*100 < 0.00001)
{
if (fabs(ds/s0)*100 < 0.00001)
break ;
else
{
r0=(r0+dr);
s0=(s0+ds);
}
}
if (fabs(dr/r0)*100 > 0.00001)
{
r0=(r0+dr);
s0=(s0+ds);
}
}
}
<< 코딩을 컴퓨터로 직접 돌려본 결과 값. >>
따라서 p(X) =(x2-2x+2)(x2+2x+2)(x-1)
최종 답
x1= 1+i
x2= 1-i
x3= 1
x4= -1+i
x5= -1-i
  • 가격3,000
  • 페이지수19페이지
  • 등록일2007.10.08
  • 저작시기2007.5
  • 파일형식한글(hwp)
  • 자료번호#430619
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니