计算方法上机报告之线性

计算方法上机报告之线性方程求解源程序代码及流程图|上机实验实习报告|计算机上机实习报告流程图

点击下载流程图线性流程图.doc

# include<math.h>
# define eps 0.5e-4
# define n 3
static double aa[n][n]={{10,-1,-2},{-1,10,-2},{-1,-1,5}};
static double bb[n]={7.23,8.32,4.24};
 main()
{ int i,j,NO;
  double a[n+1][n+1],b[n+1],x[n+1];
  int jcb();
  for(i=1;i<=n;i++)
   for(j=1;j<=n;j++)
  {  a[i][j]=aa[i-1][j-1];
    b[i]=bb[i-1];
    }
    printf("\n please enter NO: ");
    scanf("%d",&NO);
    j=jcb(a,b,x,eps,NO);
    if(j!=0)
    for(i=1;i<=n;i++)
    printf("x[%d]=%f",i,x[i]);
    }
    int jcb(a,b,x,ep,NO)
    int NO;
    double a[][n+1],b[],x[],ep;
    { int i,j,k=0;double x1[n+1],d,s,max;
      for (i=1;i<=n;i++)
       x[i]=0;
       do{ max=0.0;
    for(i=1;i<=n;i++)
    { s=0.0;
    for(j=1;j<=n;j++)
    if(j!=i)
    s=s+a[i][j]*x[j];
    x1[i]=(b[i]-s)/a[i][i];
    d=fabs(x1[i]-x[i]);
    if (max<d) max=d;
    }
    for(i=1;i<=n;i++)
    x[i]=x1[i];
    k++;             }
    while((max<=eps)&&(k<NO));
    printf("k=%d\n",k);
    if(k>=NO)
    { printf("\n faid!");
      return(0);
      }
      return(1);
}

 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有