검색어 입력폼

Gauss-seidel Iteration Method, Jacobi Iteration

저작시기 2009.10 |등록일 2010.09.27 한글파일한컴오피스 (hwp) | 4페이지 | 가격 1,500원

소개글

void main(void)
{
int m,j,k; // int형 변수 선언
int A[3][3]={5,1,2,
1,4,-2,
2,3,8}; // 3*3 matrix A 선언
int B[3]={19,-2,39}; // B matrix 선언
double X[3]={1,1,1}; // X matrix 초기 값 정의
double t_X[3]={0,0,0};
double sum1,sum2,error=0.0000001; // double형 변수 선언 및 error bound 정의

printf(" X1 X2 X3n");

for(m=0; m<20; m++) // iteration
{
for(j=0; j<3; j++) // matrix t_X[]에 값 저장
{
t_X[j]=X[j];
}

for(j=0; j<3; j++)
{
sum1=0;
sum2=0; // sum1, sum2 초기화
for(k=0; k {
sum1=sum1+A[j][k]*t_X[k];
}
for(k=j+1; k<3; k++) //
{
sum2=sum2+A[j][k]*t_X[k];
}
X[j]=(B[j]-sum1-sum2)/A[j][j]; //
if(fabs(X[j]-t_X[j]) {
exit(0);
} // 조건 만족 시 종료
}
printf("%lf, %lf, %lf n",X[0],X[1],X[2]);
}
}

목차

5. Do 5 steps, starting from and using 6S in the computation. Hint. Make sure that you solve each equation for the variable that has the largest coefficient (why?). Show the details.
13. Do 5 steps, starting from . Compare with the Gauss-Seidel iteration. Which of the two seems to converge faster? (Show the detail of your work.)
결과 분석

본문내용

void main(void)
{
int m,j,k; // int형 변수 선언
int A[3][3]={5,1,2,
1,4,-2,
2,3,8}; // 3*3 matrix A 선언
int B[3]={19,-2,39}; // B matrix 선언
double X[3]={1,1,1}; // X matrix 초기 값 정의
double t_X[3]={0,0,0};
double sum1,sum2,error=0.0000001; // double형 변수 선언 및 error bound 정의

printf(" X1 X2 X3n");

for(m=0; m<20; m++) // iteration
{
for(j=0; j<3; j++) // matrix t_X[]에 값 저장
{
t_X[j]=X[j];
}

for(j=0; j<3; j++)
{
sum1=0;
sum2=0; // sum1, sum2 초기화
for(k=0; k<j; k++) //
{
sum1=sum1+A[j][k]*t_X[k];
}
for(k=j+1; k<3; k++) //
{
sum2=sum2+A[j][k]*t_X[k];
}
X[j]=(B[j]-sum1-sum2)/A[j][j]; //
if(fabs(X[j]-t_X[j])<error)
{
exit(0);
} // 조건 만족 시 종료
}
printf("%lf, %lf, %lf n",X[0],X[1],X[2]);
}
}

참고 자료

없음
다운로드 맨위로