c编的sor迭代法解线性方程组的程序
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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); }