검색어 입력폼

SOR Method를 사용해 연립방정식 근 구하기

등록일 2005.01.01 한글파일한컴오피스 (hwp) | 7페이지 | 가격 1,000원

소개글

SOR Method를 사용해 연립방정식 근 구하는 프로그램입니다. 수치해석 과제시 참고하시기 바랍니다.

컴파일 실행환경

Visual C++ 6.0
1.5G 노트북

본문내용

/*
SOR method for 7.5.4
*/
#include<stdio.h>
#define n 9
float absol(float x);
main(){
int i,j,iteration=0;
float A[n][n],b[n],t=0;
float x[n],xp[n], norminf=1,w=1;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
A[i][j]=0;
if(i==j)A[i][j]=1;
if(i==j-1)A[i][j]=-0.5;
if(i==j+1)A[i][j]=-0.5;
}
}
for(i=0;i<n;i++)b[i]=0;
b[0]=0.5;
for(i=0;i<n;i++)x[i]=0;
for(i=0;i<n;i++)xp[i]=0;
while(norminf!=0){
norminf=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(j!=i)t+=A[i][j]*x[j];
}
x[i]=(1-w)*xp[i] + w/A[i][i]*(b[i]-t);
t=0;
}
for(i=0;i<n;i++){
t=absol(x[i]-xp[i]);
if(t>norminf)norminf=t;
}
for(i=0;i<n;i++)xp[i]=x[i];
iteration++;
}
printf("interation = %d\n",iteration);
for(i=0;i<n;i++){
printf("P%d = %f ",i+1,x[i]);
if(i%5==4)printf("\n");
다운로드 맨위로