c编的sor迭代法解线性方程组的程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c编的sor迭代法解线性方程组的程序

2010-12-15 20:33

#include

#include

double norm(double *x,double *y,int n)

{

int i=0;

double s=0;

for(i=0;i

s=s+fabs(x[i]-y[i])*fabs(x[i]-y[i]);

return sqrt(s);

}

void Jacobi(double A[],double b[],double x0[],double x[],double w,int n1)

{

int n=100;//最大迭代次数

double ee=0.0001,s=0;//精度

int i,j,k;

for(i=1;i<=n;i++){

for(j=0;j

for(j=0;j

s=0;

for(k=0;k

x0[j]=x[j]+w*(b[j]-s)/A[j*n1+j];

}

if (norm(x,x0,n1)

break;

}

}

int main()

{

double a[3][3]={{8,-1,1},{2,10,-1},{1,1,-5}};

double b[3]= {1,4,3};

double x0[3]= {0,0,0.0};

double x[3]= {0,0,0},w=1.005;

int n1=3,i;

Jacobi(a,b,x0,x,w,n1);

for (i=0;i

printf("x(%d)=%6.4f\n",i+1,x[i]);

system("pause");

return(0);

}

相关文档
最新文档