雅克比迭代法求解线性方程组的程序:
#include ""
#include ""
#include ""
#define N 50
#define eps 1e-8
void main()
{
double x[3]={0,0,0},y[3],a[3][3]={5,2,1,2,8,-3,1,-3,-6},b[3]={8,21,1},s1,s2;
int i,k=0,j;
do
{
s2=0;
k=k+1;
ﻩ for(i=0;i<3;i++)
{s1=0;
ﻩ for(j=0;j<3;j++)
ﻩﻩ {
ﻩﻩﻩ if(i==j)continue;
ﻩ s1+=a[i][j]*x[j];
ﻩ }
y[i]=(b[i]-s1)/a[i][i];
ﻩﻩ s2+=fabs(x[i]-y[i]);
ﻩ }
if(s2<eps)printf("迭代次数K=%d\n",k);
ﻩ if(k>N){printf("不收敛!");exit();}
ﻩ
for(i=0;i<3;i++)
ﻩ x[i]=y[i];
ﻩ }while(s2>eps);
ﻩ for(i=0;i<3;i++)
ﻩ printf("x[%d]=%lf\n",i,x[i]);
ﻩ }
雅克比迭代法求解线性方程组的程序 来自淘豆网www.taodocs.com转载请标明出处.